0
Angular2からプロファイルイメージをアップロードしようとしていて、バックエンドがマルチパートデータをサポートしているSpring Boot Rest APIにあります。私はバックエンドに要求し、400ファイルアップロードのエラーがSpring起動時Rest API
コードのエラーとクロムのリターンを受け取ることができなかったのです以下の通りである:
フロントエンド:
HTML:
<input class="file" type="file" (change)="uploadProfileImgOnChange($event)">
TS:
uploadProfileImgOnChange(event: any) {
let fileList: FileList = event.target.files;
if (fileList.length > 0) {
this.file = fileList[0];
this.requestsService.postRequestMultipartFormData(
'/admin/uploadProfileImg/' + this.id
, this.file)
.subscribe(
(response: Response) => {
if (response['responseCode'] === 'ADM_SUC_08') {
console.log();
}
},
(error: any) => {
this.apUtilServer.tokenExpired(error.json()['error']);
//console.log(error.json())
}
);
}
}
postRequestMultipartFormData(url: any, data: any) {
data = this.removeUndefined(data);
var formData = new FormData();
const headers = new Headers();
formData.append('file', data, data.name);
if (this.getToken()) {
headers.append('Authorization', 'Bearer ' + this.getToken());
}
headers.append('Accept', 'application/json');
console.log(headers);
return this.http.post('http://127.0.0.1:8080/AdminPortal/admin/' + url, formData, {headers: headers})
.map((response: Response) => {
return response.json();
})
}
バックエンド:事前に
@RequestMapping(value = "/uploadProfileImg/{id}", method = RequestMethod.POST)
public ResponseEntity<?> uploadProfileImage(HttpServletRequest request,
@PathVariable("id") long id,
@RequestParam("file") MultipartFile file) {
logger.info("Update Admin API called {" + id);
感謝。
URLに問題はありませんので、チルドレンのコメントを無視してください。