Feign傳輸Multipartfile檔案的正確方式,Current request is not a multipart request報錯解決
阿新 • • 發佈:2020-12-26
前言
最近公司有個需求 在前端上傳 ppt/pdf 等檔案到後臺 經過解析轉換成圖片後 再Feign 呼叫檔案服務 上傳 到伺服器
1、FileFeignApi 的介面是這樣的...
@ApiOperation(value = "上傳 ") @PostMapping("/upload") String uploadFile(@RequestParam(required = true,name = "fileType") @ApiParam(required = true, value = "上傳檔案的型別") Integer fileType, @RequestParam(required = true,name = "file") MultipartFile file);
卻發現老是報如下異常
org.springframework.web.multipart.MultipartException:Current request is not a multipart request.......
經過一番研究終於發現問題了,原來檔案流要用@RequestPart註解傳參,並且 資料傳輸格式 content-type 為【multipart/form-data】,所以正確寫法如下:
@ApiOperation(value = "上傳 ") @PostMapping(value = "/upload",consumes = MediaType.MULTIPART_FORM_DATA_VALUE) String uploadFile(@RequestParam(required= true,name = "fileType") @ApiParam(required = true, value = "上傳檔案的型別") Integer fileType, @RequestPart(required = true,name = "file") MultipartFile file);