1 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以使用自己的多部分處理程序,以便以編程方式設(shè)置最大上載大小。例如,在控制器中使用 Servlet 文件上傳
:
DiskFileItemFactory factory = new DiskFileItemFactory(thresholdBytes, tempDir);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(maxFileSize);
for (FileItem item : upload.parseRequest(request)) {
// Save the file
File uploadedFile = new File(myPath);
item.write(uploadedFile);
}
為了更好地控制流處理,您可以使用自己的流式處理邏輯來使用和傳輸字節(jié)。item.getInputStream()
要使用此功能,您需要禁用Spring的默認(rèn)多部分處理或。spring.servlet.multipart.enabled = falsespring.servlet.multipart.resolve-lazily = true
第二個(gè)選項(xiàng)是注冊(cè)多個(gè) Servlet,每個(gè) servlet 處理不同的文件類型,并為每個(gè) Servlet 定義不同的(具有和指定的)。然后從主服務(wù)器內(nèi)部重定向到特定于文件類型的 Servlet。@MultipartConfigmaxFileSizemaxRequestSize