У меня проблема с методом POST
в Angular 6. Я хочу отправить изображение на сервер, я попытался из Почтальона, и моя загрузка Spring довольно хорошо работает, и мой образ сохраняется на сервере, но когда яотправлено из проекта Angular У меня ошибка:
2019-02-18 10: 40: 07.086 WARN 6496 --- [nio-8080-exec-5] .wsmsDefaultHandlerExceptionResolver: Resolved [org.springframework.web.multipart.support.MissingServletRequestPartException: необходимая часть запроса 'file' отсутствует]
Это мой шаблон:
<input type="file" (change)="onFileSelectedMethod($event)">
<button (click)="onUploadButton()">Upload!</button>
Это мой компонент:
export class AppComponent implements OnInit {
selectedFinenew: File = null;
constructor(private data: DataServiceService, private http: HttpClient) { }
ngOnInit() {}
onFileSelectedMethod(event) {
this.selectedFile = <File>event.target.files[0];
}
onUploadButton() {
const fb = new FormData();
fb.append('image', this.selectedFile, this.selectedFile.name);
this.http.post('api/cateogry/dar/uploadFile', fb).subscribe(res => {
console.log(res);
}
);
}
Мой метод в Spring Boot:
@PostMapping("/uploadFile")
public UploadFileResponse uploadFile(@RequestParam("file") MultipartFile file) {
String fileName = fileStorageService.storeFile(file);
String fileDownloadUri = ServletUriComponentsBuilder.fromCurrentContextPath()
.path("/downloadFile/")
.path(fileName)
.toUriString();
return new UploadFileResponse(fileName, fileDownloadUri,
file.getContentType(), file.getSize());
}