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