【发布时间】:2019-08-09 21:15:00
【问题描述】:
我是 Angular 8 的新手,我正在尝试将带有一些 json 数据的文件发布到休息服务。由于如果请求标头中有可用的内容类型标头,我的服务将不会接受多部分表单数据请求。我试图删除标头,但令我惊讶的是,我在请求标头中看到了内容类型标头和值。
我的代码
addProd(formData: FormData): Observable<any> {
let headers = new HttpHeaders();
headers = headers.delete("content-type");
//delete headers['content-type'];
//headers.set('content-type',undefined);
const req = new HttpRequest('POST', apiUrl + "product", formData,{
headers:headers
});
return this.http.request(req).pipe(
tap(_ => this.log("added product")),
catchError(this.handleError("add product"))
);}
我的表单数据
const formData: FormData = new FormData();
formData.append('file', this.fileData, this.fileData.name);
formData.append('product', JSON.stringify(productData));
来自 Mozilla 浏览器的请求标头
我尝试将值设置为undefined,但在控制台values are undefined 中出现异常。
谁能帮助我如何在请求中发布没有内容类型标头的数据。
【问题讨论】:
-
可能会稍后插入标题。尝试在拦截器中删除它。
-
感谢@jpavel 的回复,但我不知道如何添加拦截器,您能帮我解决这个问题吗
-
我会尝试详细说明答案。
标签: angular