簡體   English   中英

Spring 引導 MultipartFile 的值始終為 null

[英]Spring Boot MultipartFile always has value of null

所以我正在為 JavaScript 前端制作一個 RESTful API 后端,並希望將文件上傳到谷歌雲存儲。 我有這個 function 來處理文件上傳:

@RequestMapping(value = "/uploadFile", method = RequestMethod.POST, consumes = { "multipart/form-data" })
    public ResponseEntity<?> uploadFile(@ModelAttribute("file") FileDTO fileDTO) {
        FunctionResponse uploadResponse = cloudStorage.uploadObject(fileDTO.getFile());
        if (uploadResponse.successful()) {
            return new ResponseEntity<>(uploadResponse.getMessage(), HttpStatus.OK);
        } else {
            return new ResponseEntity<>(uploadResponse.getMessage(), HttpStatus.BAD_REQUEST);
        }
    }

我的文件 DTO class 看起來像這樣:

public class FileDTO implements Serializable {

    private MultipartFile file;

    public MultipartFile getFile() {
        return file;
    }
}

但是,每當我嘗試訪問 MultipartFile 時,它總是會拋出java.lang.NullPointerException 我已經從具有類似問題的線程中嘗試了各種 SO 答案,但到目前為止都沒有奏效。

我的 application.properties 中有multipart.enabled=true

任何幫助將不勝感激,如果您需要更多信息,請告訴我。

multipart/form-data請求到達時,必須使用@RequestParam獲取數據,而不是@ModelAttribute + 如果您需要的請求的值是文件,則應將其反序列化為MultipartFile object。

@RequestMapping(value = "/uploadFile", method = RequestMethod.POST, consumes = {"multipart/form-data"})
public ResponseEntity<?> uploadFile(@RequestParam(name = "file") MultipartFile file) {
    // your handle ...
}

暫無
暫無

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

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