Spring上传文件大小限制
Spring upload file size limit
我正在为我的应用程序使用 Spring Boot,我想将一些文件上传到我的数据库中。
我使用了一个教程来实现这一点,并且效果很好。我的问题是我不知道如何设置要上传的最大文件大小。默认值为 1MB,但这对我来说还不够。
我将这些行添加到我的 application.properties
:
spring.http.multipart.max-file-size = 100MB
spring.http.multipart.max-request-size = 100MB
但没有用。
我的代码:
FileService.java
@Service
public class FileService {
@Autowired
FileRepository fileRepository;
public Response uploadFile(MultipartHttpServletRequest request) throws IOException {
Response response = new Response();
List fileList = new ArrayList();
Iterator<String> itr = request.getFileNames();
while (itr.hasNext()) {
String uploadedFile = itr.next();
MultipartFile file = request.getFile(uploadedFile);
String mimeType = file.getContentType();
String filename = file.getOriginalFilename();
byte[] bytes = file.getBytes();
File newFile = new File(filename, bytes, mimeType);
File savedFile = fileRepository.saveAndFlush(newFile);
savedFile.setFile(null);
fileList.add(savedFile);
}
response.setReport(fileList);
return response;
}
}
FileController.java
@RestController
@RequestMapping("/file")
public class FileController {
@Autowired
FileService fileService;
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public Response uploadFile(MultipartHttpServletRequest request) throws IOException{
return fileService.uploadFile(request);
}
}
这段代码很好,工作完美,我只是无法设置最大文件大小。
Spring 早于 4.0 的正确属性是
multipart.maxFileSize
multipart.maxRequestSize
从 Spring 4 这些已更改为
spring.http.multipart.max-文件大小
spring.http.multipart.max-请求大小
对我来说(在 Spring Boot 2.0.0 中):
spring.servlet.multipart.max-file-size=-1
这个配置对我有用:
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
我正在为我的应用程序使用 Spring Boot,我想将一些文件上传到我的数据库中。 我使用了一个教程来实现这一点,并且效果很好。我的问题是我不知道如何设置要上传的最大文件大小。默认值为 1MB,但这对我来说还不够。
我将这些行添加到我的 application.properties
:
spring.http.multipart.max-file-size = 100MB
spring.http.multipart.max-request-size = 100MB
但没有用。
我的代码:
FileService.java
@Service
public class FileService {
@Autowired
FileRepository fileRepository;
public Response uploadFile(MultipartHttpServletRequest request) throws IOException {
Response response = new Response();
List fileList = new ArrayList();
Iterator<String> itr = request.getFileNames();
while (itr.hasNext()) {
String uploadedFile = itr.next();
MultipartFile file = request.getFile(uploadedFile);
String mimeType = file.getContentType();
String filename = file.getOriginalFilename();
byte[] bytes = file.getBytes();
File newFile = new File(filename, bytes, mimeType);
File savedFile = fileRepository.saveAndFlush(newFile);
savedFile.setFile(null);
fileList.add(savedFile);
}
response.setReport(fileList);
return response;
}
}
FileController.java
@RestController
@RequestMapping("/file")
public class FileController {
@Autowired
FileService fileService;
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public Response uploadFile(MultipartHttpServletRequest request) throws IOException{
return fileService.uploadFile(request);
}
}
这段代码很好,工作完美,我只是无法设置最大文件大小。
Spring 早于 4.0 的正确属性是
multipart.maxFileSize
multipart.maxRequestSize
从 Spring 4 这些已更改为
spring.http.multipart.max-文件大小
spring.http.multipart.max-请求大小
对我来说(在 Spring Boot 2.0.0 中):
spring.servlet.multipart.max-file-size=-1
这个配置对我有用:
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB