檔案上傳
一、組態檔上傳的大小限制
application.properties組態檔添加:
# 上傳檔案總的最大值
spring.servlet.multipart.max-request-size=10MB
# 單個檔案的最大值
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-file-size限制單個檔案的最大值spring.servlet.multipart.max-request-size限制上傳的多個檔案的總大小
二、單檔案上傳
1、創建Controller控制類
package com.desire.controller;
import java.io.File;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
@RestController
@RequestMapping("/upload")
public class Upload {
private static final Logger LOGGER = Logger.getLogger(Upload.class);
@RequestMapping("uploadFile")
public String uploadFile(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return "上傳失敗,請選擇檔案";
}
String fileName = file.getOriginalFilename();
System.err.println("檔案名稱:" + fileName);
String filePath = "D:/upload/";
System.err.println("檔案保存路徑:" + filePath);
File dest = new File(filePath + fileName);
try {
file.transferTo(dest);
LOGGER.info("上傳成功!!!");
return "上傳成功!";
} catch (IOException e) {
LOGGER.error(e.toString(), e);
}
return "上傳失敗!!!";
}
}
2、如果要寫jsp頁面驗證的話,選擇檔案,form的enctype為multipart/form-data,
我這里直接用Postman進行驗證,
1.打開Postman
2.填寫url,選擇POST提交方式,

3.①選擇Body
? ②選擇form-data
? ③添加KEY值:file
? ④選擇File
? ⑤添加VALUE

4、點擊Send運行

5、輸出回傳值,查看上傳檔案,上傳成功!

三、多檔案上傳
在Controller中添加以下方法
@RequestMapping("uploadFiles")
public String uploadFiles(HttpServletRequest request) {
List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
System.out.println("選擇了檔案數::" + files.size());
String filePath = "D:/upload/";
System.err.println("檔案保存路徑:" + filePath);
for (int i = 0; i < files.size(); i++) {
MultipartFile file = files.get(i);
if (file.isEmpty()) {
return "上傳第" + (i++) + "個檔案失敗!!!";
}
String fileName = file.getOriginalFilename();
System.err.println("檔案名稱:" + fileName);
File dest = new File(filePath + fileName);
try {
file.transferTo(dest);
LOGGER.info("第" + (i + 1) + "個檔案上傳成功!");
} catch (IOException e) {
LOGGER.error(e.toString(), e);
return "上傳第" + (i++) + "個檔案失敗!!!";
}
}
return "上傳成功!!!";
}
選擇不同的檔案,(注:總大小不要超過你設定的限制值)

查看上傳結果

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/17293.html
標籤:Windows
上一篇:SpringBoot 熱部署
下一篇:Win10系統重做
