web-dev-qa-db-ja.com

Springアップロードファイルのサイズ制限

アプリケーションに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);
     }
}

このコードは問題なく、完全に機能します。最大ファイルサイズを設定できません。

前もって感謝します。

7
Siriann

4.0より前のSpringでは、適切なプロパティは次のとおりです。

multipart.maxFileSize

multipart.maxRequestSize

Spring4からこれらはに変更されました

spring.http.multipart.max-file-size

spring.http.multipart.max-request-size

10
Siriann

私にとっては(Spring Boot 2.0.0で)働いていました:

spring.servlet.multipart.max-file-size=-1
8
MaciekS

この構成は私のために働いた:

spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
2
Elouafi