[英]Spring Rest - Post multiple files
使用 Spring Boot 2.1.8,我在 Rest Controller 中有兩種方法,分別需要單個文件和多個文件。 這些是方法簽名:
@PreAuthorize("hasAnyRole('ROLE_ADMIN')")
@PostMapping("/uploadMultipleFiles")
public List<FileResponse> uploadMultipleFiles(@RequestParam("files") MultipartFile[] files);
@PreAuthorize("hasAnyRole('ROLE_ADMIN')")
@PostMapping("/upload")
public FileResponse uploadFile(@RequestParam("file") MultipartFile file);
單次上傳就完美了。 我正在設法從 web 客戶端、Postman v7.25.0 和 Swagger 2 加載單個文件。
但多文件方法僅在從 Postman 上傳文件時有效,返回 400 http 錯誤代碼。 因此,它甚至沒有進入方法。
兩種情況下(Web 客戶端或 Swagger)的錯誤消息是相同的:
can't parse JSON. Raw result:
Missing or unreadable multipart file in request
這是通過 Swagger 調用 /uploadMultipleFiles 時的請求標頭(出現錯誤):
這是從 Postman 調用 /uploadMultipleFiles 時的請求標頭(工作正常):
這是從 Postman 調用 /upload 時的請求標頭(工作正常):
這是通過 Swagger 調用 /upload 時的請求標頭(工作正常):
首先,我認為 Content-Type 可能與我的問題有關。 但是 Swagger 始終發送 application/json,並且它適用於單個上傳端點。
任何想法?
當您使用 multipartfile 處理文件上傳時,您應該將請求的內容類型設置為multipart/form-data
。 屏幕截圖顯示 Postman 使用的是multipart/form-data
而不是application/json
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.