我在 spring-boot API 中有我的端点用于上传图像。它与 postman 一起工作正常,但如果我想从我的 Angular 应用程序发送请求,我会收到代码 400“所需的请求部分‘文件’不存在”。
我认为问题出在我的 Angular 代码中。
我的端点
@PostMapping(value = "/private/image/avatar", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public BasicImgurResponse uploadProfilePicture(@RequestParam(name = "file") MultipartFile file){
try {
return service.uploadProfilePicture(file);
} catch (IOException ex) {
Logger.getLogger(ImgurController.class.getName()).log(Level.SEVERE, null, ex);
return null;
}
}
我的 Angular 服务方法
uploadAvatar(data: any){
let file = new FormData();
file.append('file',data);
return this.http.post<any>(environment.api_endpoint+'/private/image/avatar',file);
}
最佳答案
可能数据对象为空?确保数据对象包含输入文件。
如果没有 Angular,命令如下:
formData.append('file', $('input[type=file]')[0].files[0]);
关于java - 所需的请求部分 'file' 不存在。尝试上传图像, Angular -> Spring ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57251247/