我正在使用HttpClient同时提交图像和表单填充数据。我的问题是,发送时出现以下错误:415不支持的媒体类型。
[我认为我的错误在于标题,我已经将标题指定为multipart /混合的,但是当我通过网络查询时...传递的标题来自httpClient(application / json),我该如何解决呢?
服务
postProduct(params): Promise<any> {
let self = this;
let urlAux = self.url + "/Products/PostProduct";
this.headerss={
headers: new HttpHeaders({
'Accept': 'application/json',
'Content-Type': 'multipart/mixed'
})
}
return this.http
.post(urlAux, params, this.headerss)
.toPromise()
.then(this.extractDataStream)
.catch(this.handleErroPromise);
}
Component
params.IdClient = self.idClient;
params.ProductFolder = self.productFolder;
params.IdBrand = self.idClient;
params.IdCategory = self.catid;
let formData = new FormData();
formData.append('file', this.files[0]);
params.File=formData;
this.Global.refreshToken().subscribe(function (result) {
self.uploadService.postProduct(params).then(function (resultado) {
if (resultado.codigo == 1) {
notify(resultado.info, "success", 3000);
} else {
notify(resultado.descricao, "error", 3000);
}
}).catch();
});
您可以尝试使用multipart/form-data
内容类型。另外,请确认没有为父模块或应用程序级别定义拦截器,因为这可能是将内容类型发送为application/json
的原因。