springMVC文件上傳配置


1、文件上傳
a、引入依賴
b、spring-mvc.xml 配置文件
c、頁面配置
url:"${pageContext.request.contextPath}/user/testResponseBody",
data:{},
type:"post",
dataType:"json",
success:function(data){
alert(data[0].username);
alert(data[1].username);
}
});
d. 引入靜態資源后,必須靜態資源放行

<mvc:resources mapping="/js/*" location="/js/"></mvc:resources>
引入fileUpload會自動依賴commons-io
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 設置上傳文件的最大尺寸為5MB -->
<property name="maxUploadSize">
<value>5242880</value>  // 必要步驟*********************
</bean>

d、controller代碼
<%--
上傳文件的表單前提

  1. 提交方式必須是post
  2. 表單的類型必須:multipart/form-data, 多功能表單數據
  3. 必須有一個type=file的表單元素
    --%>
<form action="${pageContext.request.contextPath}/user/upload" method="post"
enctype="multipart/form-data">
<input type="text" name="username"> <br>
<input type="file" name="upload"><br>
<input type="submit" value="上傳">
</form>

/**

  • 聲明參數 變量接收數據

/
@RequestMapping("/upload")
public String upload(String username , MultipartFile upload, HttpServletRequest request){
// System.out.println(username);
//1. 目標路徑
//獲取項目運行的路徑
String realPath = request.getSession().getServletContext().getRealPath("/upload");
//判斷該路徑是否存在
File realFile = new File(realPath);
if(!realFile.exists()){
realFile.mkdirs();
} /
/2. 獲取唯一的文件名稱(包含擴展名)
String uuidName = UUID.randomUUID().toString().replace("-", "");
//獲取擴展名: 獲取文件名
//獲取真實的文件名
String originalFilename = upload.getOriginalFilename();
//截取字符串,獲取文件的擴展名
String extendName = originalFilename.substring(originalFilename.lastIndexOf("."));
System.out.println(extendName);
//唯一的文件名
String fileName = uuidName + extendName;
System.out.println(fileName);
//文件上傳
//transferTo: 執行文件上傳
//參數file:目錄文件
try {
upload.transferTo(new File(realFile, fileName));
} catch (IOException e) {
e.printStackTrace();
} r
eturn "show";
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM