簡體   English   中英

Spring Rest - 發布多個文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM