FormData.append的参数2不是mozilla firefox中的对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FormData.append的参数2不是mozilla firefox中的对象相关的知识,希望对你有一定的参考价值。
在formData.append()的帮助下将文件发送到后端(附加文档详细信息)。它在谷歌chrome中正常工作。但我在mozila和safari中遇到此错误的问题。
服务代码:
manageSingleDataWithChildModel(url: string, data: any, childData: any, docRefArea: string = ''): Observable<any> {
this._spinnerService.show();
this.refreshSession();
var formData: FormData = new FormData();
formData.append('docReferenceArea', docRefArea);
childData.forEach((data: any) => {
if (data.DocumentDetails != null && data.DocumentDetails.DocContent != null && data.DocumentDetails.DocContent != "") {
data.FileIdentifier = data.DocumentDetails.FileIdentifier;
formData.append('files', data.DocumentDetails.DocContent, data.DocumentDetails.FileIdentifier);
data.DocumentDetails.DocContent = null;
}
});
formData.append('dataModel', JSON.stringify(data));
let headers = new Headers(
{
'enctype': 'multipart/form-data',
'method': 'POST',
'Authorization': 'Bearer ' + localStorage.getItem('BearerToken'),
});
let options = new RequestOptions({ headers: headers });
return this._http.post(url, formData, options)
.map((res: Response) => { this._spinnerService.hide(); return HttpHelper.json(res) })
.catch(error => this.handleError(error));
}
答案
docRefArea您将其指定为字符串。但它实际上是一个包含文件详细信息的对象。
通过将代码的第一行更改为来尝试
manageSingleDataWithChildModel(url: string, data: any, childData: any, docRefArea: any = ''): Observable<any> {
以上是关于FormData.append的参数2不是mozilla firefox中的对象的主要内容,如果未能解决你的问题,请参考以下文章
FormData发送字符串值而不是react-native中的视频文件
element-ui upload上传文件并携带参数 使用formData对象