angularjs 如何在多部分/表单数据请求中指定边界?

eh57zj3b  于 2023-02-18  发布在  Angular
关注(0)|答案(1)|浏览(155)

我试图发送一些表单数据文件到我的后端,我有这个问题,包括浏览器(或服务器,或任何)不断忽略我定义的边界,并在我的请求有效负载更改为一些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。
nbewdwxp

nbewdwxp1#

嗯,这似乎与Angular $resorce有关。当我改为$http时,问题已经消失了。

相关问题