簡體   English   中英

Spring 引導 - 在不知道關鍵參數的情況下通過 POST 請求在 controller 中獲取上傳的文件?

[英]Spring Boot - get uploaded files in a controller without knowing key parameters with POST request?

我使用 Spring Boot 1.5.2 並且我有一個 controller 來處理一個 POST 請求,它可以包含一個隨機上傳的文件作為二進制文件隨機鍵值作為具有不同 POST 參數的字符串

例如:

curl -F 'fileX=@/path/to/fileX' 
     -F 'fileY=@/path/to/fileY'
     -F 'abc=@/path/to/fileZ' 
     -d "key1=value1"
     -d "key2=value2"

http://localhost/upload

我已經搜索了MultipartFile[] ,但它似乎需要有一個固定的關鍵參數,否則這個文件變量將是 null,例如:

@Controller
public class FilesController {

    @PostMapping("/upload")
    public void handlePost(HttpServletRequest httpServletRequest, 
                           HttpServletResponse httpServletResponse, 
                           @RequestParam("filesKey") MultipartFile[] files) {
 
    }
}

在這種情況下,如何在不知道關鍵參數的情況下獲取已發布文件的列表?

我認為上傳的文件可以像下面這樣實現:

@PostMapping("/upload")
public void handlePost(HttpServletRequest httpServletRequest, 
                       HttpServletResponse httpServletResponse) {

        for (Part part : httpServletRequest.getParts()) {
            System.out.println(part.getContentType());
            System.out.println(part.getName());
        }

}

這將是 output:

application/octet-stream
fileX
application/octet-stream
fileY
application/octet-stream
abc
null
key1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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