アプリケーションにSpringBootを使用していますが、データベースにいくつかのファイルをアップロードしたいと思います。私はこれを達成するためにチュートリアルを使用しました、そしてそれはうまく働きます。私の問題は、アップロードする最大ファイルサイズを設定する方法がわからないことです。デフォルトは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);
}
}
このコードは問題なく、完全に機能します。最大ファイルサイズを設定できません。
前もって感謝します。
4.0より前のSpringでは、適切なプロパティは次のとおりです。
multipart.maxFileSize
multipart.maxRequestSize
Spring4からこれらはに変更されました
spring.http.multipart.max-file-size
spring.http.multipart.max-request-size
私にとっては(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