Angularjs 通过多部分/表单数据上传文件Angular2,400错误

Angularjs 通过多部分/表单数据上传文件Angular2,400错误,angularjs,file-upload,http-post,angular2-forms,http-status-code-400,Angularjs,File Upload,Http Post,Angular2 Forms,Http Status Code 400,我需要通过多部分/表单数据上传一个文件和一些元信息,如下所示: Header ----boundary Meta ----boundary File ----boundary 由于某种原因,我总是收到一个400错误,后端服务器告诉我,元字段丢失了。但是,如果我使用Wireshark查看十六进制/Ascii转储,该字段肯定在那里。 以下Curl命令工作正常,文件上载成功: curl -H "Expect:" -v -i -X POST -H "Content-Type: multipart/fo

我需要通过多部分/表单数据上传一个文件和一些元信息,如下所示:

Header
----boundary
Meta
----boundary
File
----boundary
由于某种原因,我总是收到一个400错误,后端服务器告诉我,元字段丢失了。但是,如果我使用Wireshark查看十六进制/Ascii转储,该字段肯定在那里。
以下Curl命令工作正常,文件上载成功:

curl -H "Expect:" -v -i -X POST -H "Content-Type: multipart/form-data" -H "Authorization: "token" -F "File=@/location" -F 'Meta={"access":"token"}' http://path
因此,这似乎不是后端故障。我的角度(4.1.3)要求一定不好,但我不知道有什么问题

模板代码:

<input #file_input type="file" (change)="onFileInputChange($event)" multiple>

角度2代码:

onFileInputChange(事件){
let fileList:fileList=event.target.files;
for(设i=0;ires.json()).subscribe(
data=>console.log('success'),
error=>console.log(错误))
}
}

我在这里遗漏了什么?

我终于找到了解决方案。 内容类型标题的格式不正确:

Content-Type: , multipart/form-data; boundary=----WebKit12345
实际代码中的内容类型标题已预设。 打电话

headers.set('Content-Type', '');
我假设标题内容类型被覆盖,但实际上它前面有一个空字符串,因此有一个逗号,当然无法解析。
我通过完全删除内容类型标题解决了这个问题:

headers.delete('Content-Type');
headers.delete('Content-Type');