springboot 上传excel文件太大如何解决
时间: 2024-05-23 20:10:11 浏览: 171
可以使用以下方法解决:
1. 在 application.properties 文件中添加以下配置,增加上传文件大小限制:
spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=100MB
2. 使用 Apache Commons FileUpload 库
在控制器中添加以下代码:
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
FileUploadBase.CommonsMultipartConfig config = new FileUploadBase.CommonsMultipartConfig();
config.setMaxFileSize(100 * 1024 * 1024); // 限制文件大小为100MB
config.setMaxRequestSize(100 * 1024 * 1024); // 限制请求大小为100MB
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(1024 * 1024); // 设置缓冲区大小(默认)
factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); // 设置临时文件保存目录
ServletFileUpload uploader = new ServletFileUpload(factory);
uploader.setFileSizeMax(100 * 1024 * 1024); // 设置单个文件大小上限
uploader.setSizeMax(100 * 1024 * 1024); // 设置请求大小上限
uploader.setHeaderEncoding("UTF-8"); // 设置请求字符集(默认ISO-8859-1)
List<FileItem> items = uploader.parseRequest(request);
for (FileItem item : items) {
if (!item.isFormField() && item.getName() != null && !item.getName().equals("")) {
String fileName = item.getName();
String filePath = "d:\\temp\\" + fileName;
File uploadedFile = new File(filePath);
item.write(uploadedFile);
}
}
return "上传成功";
}
这是一个基本的示例,实际使用时需要根据具体的需求进行调整。
阅读全文