我正在使用HTTP post发送表单数据,就像这样
saveDataFile(mutlidata,id,value): Observable<Response> {
var _url = 'http://xxxx.xxx.xxx';
var saveDataURL = _url + '/' + id;
var _this = this;
let headers = new Headers();
headers.append('Content-Type', 'multipart/form-data');
let options = new RequestOptions({ headers: headers });
const frmData = new FormData();
frmData.append("file",JSON.stringify(mutlidata),'sample.json');
frmData.append("dataCheck",value);
return this.http.post(saveDataURL,frmData, options).pipe(
map((res: Response) => {
return res;
}),
catchError(this.handleError),);
}
此处多数据将具有
[["fakepath/test1.JPG","ea305e-be9d"],["fakepath/test2.JPG","489ce580-c50e-40e6-b1ab-71c7827f636c"]]
id will have 15asdas6asd6
value will have either true / false
这里没有发送我猜的表单数据,当我调试并检查frmdata以返回this.http.post(saveDataURL,frmData,options)此处是显示form.entries,值等
在sample.json文件中,我要添加formdata
frmData.append("file",JSON.stringify(mutlidata),'sample.json');
这里的文件意味着我将不得不使用该关键字将数据发送到API
答案 0 :(得分:0)
由于浏览器会为您处理,因此无需附加Content-Type
。我上次尝试将其手动添加到发布请求中时,导致HTTP请求失败。您只需删除部分代码即可。
saveDataFile(mutlidata,id,value): Observable<Response> {
var _url = 'http://xxxx.xxx.xxx';
var saveDataURL = _url + '/' + id;
var _this = this;
const frmData = new FormData();
frmData.append("file",JSON.stringify(mutlidata),'sample.json');
frmData.append("dataCheck",value);
return this.http.post(saveDataURL, frmData, options).pipe(
map((res: Response) => {
return res;
}),
catchError(this.handleError),);
}