Я использую angular 6. Я отправляю данные файла изображения через данные формы, но у меня есть возможность получать данные файла в API. Вот мой код
UpdateLogoprofile(data: any): Observable<any> {
debugger;
const model = {};
const url = AppSettings.API_ENDPOINT + 'Client/UploadFileToStorage';
console.info(data);
// const body = JSON.stringify(data);
//const body = data;
const httpOptions = {
headers: new HttpHeaders({
'content-type': 'application/json',
'Authorization': 'bearer ' + this.auth_token + ''
})
};
return this.http.post(url, data, httpOptions)
// .map(this.extractData)
.map((response: Response) => <any>response.json())
.catch(this.handleError);
}
и FormData
let formData: FormData = new FormData();
formData.append(file.name,file);
// formData.append('StudentId',this.StudentID);
debugger;
this._ClientService.UpdateLogoprofile(data).subscribe(
image => {
Эта проблема:
Я не могу получить доступ к formData в API
Вы можете сослаться на этот: stackoverflow.com/questions/47936183/angular-file-upload
Проблема не может получить доступ к данным формы в API
Я поменял и проверил, но не повезло
Тип содержимого должен быть 'content-type': 'multipart/form-data', так как, когда ваша форма включает любой элемент <input type = "file">, вы должны использовать multipart / form-data и изменить this._ClientService.UpdateLogoprofile(data) на this._ClientService.UpdateLogoprofile(formData).





Измените строку добавления файла на
formData.append('key', file);
Пожалуйста, исправьте эту строку
this._ClientService.UpdateLogoprofile(data)
к
this._ClientService.UpdateLogoprofile(formData);
Также в типе содержимого заголовка должен быть 'content-type': 'multipart / form-data'
Вы видите данные своего изображения в запросе, отправляемом в ваш API?