Angular 5-如何将null设置为HTTP POST multipart / form-data的内容类型

时间:2018-07-10 19:07:21

标签: angular

如何将null设置为HTTP POST multipart / form-data的内容类型

下面是无效的代码:

let abc = new FormData();
abc.append('name', "dgdhghdhd");
abc.append('file', this.doc); //doc is a file object
abc.append('product_image', "ssss");

console.log("form data  ---->")
console.log(abc)
this.http.post('http://localhost:8080/create_product', abc, {
  headers: new HttpHeaders().set('Content-Type', '')
})
  .subscribe(data => {
    console.log(data)

  });

这不起作用,我可以看到内容类型默认设置为text / html。

1 个答案:

答案 0 :(得分:1)

您不需要设置任何Content-Type,它就可以工作。如果内容类型被更改,您可能还会执行其他操作。这是我使用的代码:

export class AppComponent  {
  name = 'Angular 6';
  content = null;
  constructor(private http: HttpClient) {
    const formData: FormData = new FormData();
    formData.append('test', 'test');
    http.post('https://httpbin.org/post', formData).subscribe((next) => this.content = next);
  }
}

我已在stackblitz上发布了一个工作示例,该示例已发布到https://httpbin.org上,该镜像反映了该请求,您可以看到它已正确发布。它使用Angular 6,但我认为这与版本5并没有改变。新的HttpClient随版本4一起提供。