如何在我的multipart / form-data请求中指定边界?

时间:2018-04-20 20:39:18

标签: angularjs http multipartform-data boundary

我正在尝试将一些表单数据文件发送到我的后端,我有这个问题,包括浏览器(或服务器,或其他)一直忽略我已定义的边界并将我的请求负载更改为某些WebKitFormBoundary随机生成边界。

这是我在我的要求中定义的

.factory('FilesPaymentsImportationsUploadResource', function ($resource, PAYMENTS_API_URL) { return $resource(PAYMENTS_API_URL + '/v1/payment-files/upload/', { id: "@id" }, { save: { method: "POST", transformRequest: angular.identity, headers: { 'Content-Type': 'multipart/form-data; boundary=----border----', 'Accept': 'application/json' } } }); })

所以,我希望我的RequestPayload看起来像这样:

  

---- ----边界   内容处理:表格数据; NAME = “FILE_CONTENT”; filename =“text.txt”Content-Type:text / plain

     

---- ----边界   内容处理:表格数据;名称= “FROM_USER”

     

TEST1

     

---- ----边界   内容处理:表格数据;名称= “to_user”

     

TEST2

     

---- ----边界

但我有

  

------ WebKitFormBoundary7GOXLp9hM5A0TLgS Content-Disposition:form-data; NAME = “FILE_CONTENT”; filename =“text.txt”内容类型:   文本/纯

     

------ WebKitFormBoundary7GOXLp9hM5A0TLgS Content-Disposition:form-data;名称= “FROM_USER”

     

Bonina2   ------ WebKitFormBoundary7GOXLp9hM5A0TLgS Content-Disposition:form-data;名称= “to_user”

     

Caioteste   ------ WebKitFormBoundary7GOXLp9hM5A0TLgS -

我的请求标题是正确的,正如我所料,我发送:

  

内容类型:多部分/格式的数据;边界= ---- ----边界

但它导致我麻烦,因为我将一个值定义为边界而form-data有另一个,这导致服务器丢失表单并说我发送的是空表单数据。

1 个答案:

答案 0 :(得分:0)

好吧,它似乎与角度$ resorce有关。当我改为$ http时,问题就消失了。