SpringMVC之文件上传

jar包

-commons-fileupload-1.3.3.jar
-commons-io-2.2.jar

spring配置文件

<!-- 定义文件上传解析器 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 设定默认编码 -->
        <property name="defaultEncoding" value="UTF-8"></property>
        <!-- 设定文件上传的最大值为10MB,10*1024*1024 -->
        <property name="maxUploadSize" value="10485760"></property>
        <!-- 设定文件上传时写入内存的最大值,如果小于这个参数不会生成临时文件,默认为10240 -->
        <property name="maxInMemorySize" value="40960"></property>
        <!-- 上传文件的临时路径 -->
        <property name="uploadTempDir" value="fileUpload/temp"></property>
        <!-- 延迟文件解析 -->
        <property name="resolveLazily" value="true" />
    </bean>

前台表单及脚本

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>首页</title>
</head>
<body>      
    <div id="photoDiv">
        <form id="photo_form" enctype="multipart/form-data">
            <table>
                <tr>
                    <td class="right">照片上传</td>
                    <td><input style="width:200px;" id="photo" name="photo"
                        type="file"></td>
                    <td>
                        <input id="upload_btn" type="button" value="上传">
                        <input id="reset_btn" type="button" value="重置">
                    </td>
                </tr>
            </table>
        </form>
    </div>
    <br>
    <br>
    <script type="text/javascript">
    /**上传头像*/
    $("#upload_btn").click(function(){     
        var formData = new FormData($( "#photo_form" )[0]);    
         $.ajax({    
              url: '<%=basePath%>photo/upload' ,  
              type: 'POST',    
              data: formData,    
              async: false,    
              cache: false,    
              contentType: false,    
              processData: false,    
              success: function (returndata) {    

              },    
              error: function (returndata) {    
                  alert(returndata);    
              }    
         });            
    });
    </script>
  </body>
</html>

Controller

@RequestMapping(value="/upload")
    public Msg uploadPhoto(@RequestParam(value = "photo", required = false) MultipartFile photo, 
        HttpServletRequest request, HttpSession session){

}

猜你喜欢

转载自blog.csdn.net/javacoderwolf/article/details/79288816