1 回答

TA貢獻1799條經驗 獲得超6個贊
您可以使用自己的多部分處理程序,以便以編程方式設置最大上載大小。例如,在控制器中使用 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);
}
為了更好地控制流處理,您可以使用自己的流式處理邏輯來使用和傳輸字節。item.getInputStream()
要使用此功能,您需要禁用Spring的默認多部分處理或。spring.servlet.multipart.enabled = falsespring.servlet.multipart.resolve-lazily = true
第二個選項是注冊多個 Servlet,每個 servlet 處理不同的文件類型,并為每個 Servlet 定義不同的(具有和指定的)。然后從主服務器內部重定向到特定于文件類型的 Servlet。@MultipartConfigmaxFileSizemaxRequestSize
添加回答
舉報