HtttpClient发布不支持的媒体类型

问题描述 投票:0回答:1

我正在使用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();
});
angular typescript post http-post httpclient
1个回答
0
投票

您可以尝试使用multipart/form-data内容类型。另外,请确认没有为父模块或应用程序级别定义拦截器,因为这可能是将内容类型发送为application/json的原因。

© www.soinside.com 2019 - 2024. All rights reserved.