【发布时间】:2020-06-09 03:37:18
【问题描述】:
谷歌“Angular 8 Springboot 文件上传”。我尝试了前 3 页。无法上传该死的文件。
我得到的最远的是:
已解决 [org.springframework.web.multipart.MultipartException: Current request is not a multipart request]
尽我所能。
我只想从 Angular 发送一个文件并在 spring boot rest 控制器中接收它。 有人可以帮我解决这个问题吗?
后端:
@PostMapping("/users/profile/upload")
@ResponseStatus(HttpStatus.OK)
public ResponseEntity<String> uploadData(@RequestParam("file") MultipartFile file)
throws Exception {
if (file == null) {
throw new RuntimeException("You must select the a file for uploading");
}
String originalName = file.getName();
// Do processing with uploaded file data in Service layer
return new ResponseEntity<String>(originalName, HttpStatus.OK);
}
前端服务:
uploadFile(file: File): Observable<any> {
const formData = new FormData();
formData.append('file', file, 'file');
const headers = new HttpHeaders({
'Content-Type': 'multipart/form-data'
});
const options = { headers };
return this.http.post(`${this.baseUrl}/profile/upload`, formData, options);
}
【问题讨论】:
-
您能告诉您 API 代码以及您是如何使用 api 的吗?
-
@Mustahsan 当然!刚刚添加了它们
-
您是否尝试过不带标头的 http 调用?
-
@Mustahsan 是的,我做到了。结果相同:[org.springframework.web.multipart.MultipartException:当前请求不是多部分请求]
标签: angular spring-boot