我试图发送一些表单数据文件到我的后端,我有这个问题,包括浏览器(或服务器,或任何)不断忽略我定义的边界,并在我的请求有效负载更改为一些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看起来像这样:
- ---边框----内容处置:表格数据;名称="文件内容";文件名="text.txt"内容类型:文本/纯文本
- ---边框----内容处置:表单数据;名称="来自用户"
测试1 - ---边框----内容处置:表单数据;名称="收件人用户"
测试2 - ---边界----
但我却 - -----网络工具包表格边界7GOXLp9hM5A0TLgS内容-处置:表格数据;名称="文件内容";文件名="text.txt"内容类型:文本/纯文本
- -----网络工具包表格边界7GOXLp9hM5A0TLgS内容-处置:表单数据;名称="来自用户"
Bonina2------网络工具包表格边界7GOXLp9hM5A0TLgS内容-处置:表单数据;名称="收件人用户"
钙测试------网络工具箱表格边界7GOXLp9hM5A0TLgS--
我的请求标题似乎正确,正如我所料,我发送:
内容类型:多部分/表单数据;边界=----边界----
但是这给我带来了麻烦,因为我定义了一个值给boundary,而form-data有另一个值,这会导致服务器丢失表单,并说我发送的是一个空的form-data。
1条答案
按热度按时间nbewdwxp1#
嗯,这似乎与Angular $resorce有关。当我改为$http时,问题已经消失了。