今天做圖片上傳的功能,做好之后進行測試,一直提示“"Required request part 'file' is not present"”
在網上找各種方式,有的說配置文件,有的說別用自帶的文件解析類MultipartFileResolver都沒有解決我的問題。
后來仔細看發送的請求
------WebKitFormBoundaryFlaeSM38XP7nFtBi Content-Disposition: form-data; name="fileUpload"; filename="bb.jpg" Content-Type: image/jpeg
------WebKitFormBoundaryFlaeSM38XP7nFtBi--
注意:這里是name="fileUpload",我用的Advanced Rest Client模擬發送http請求,它把名字設置成了這個,而我的controller是
@PostMapping("image") public ResponseEntity<String> upload(@RequestParam("file") MultipartFile file){ System.out.println("請求到來" + file.getName()); return ResponseEntity.ok(uploadService.uploadImage(file)); }
兩邊的文件名稱不對應,導致這個問題,所以controller的
@RequestParam("file") 改為@RequestParam("fileUpload")就OK!