如何将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。
答案 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一起提供。