我正在尝试将一些表单数据文件发送到我的后端,我有这个问题,包括浏览器(或服务器,或其他)一直忽略我已定义的边界并将我的请求负载更改为某些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有另一个,这导致服务器丢失表单并说我发送的是空表单数据。
答案 0 :(得分:0)
好吧,它似乎与角度$ resorce有关。当我改为$ http时,问题就消失了。