【问题标题】:POSTMAN file upload with multiple keys使用多个密钥上传 POSTMAN 文件
【发布时间】:2017-06-21 19:10:44
【问题描述】:

您好,我正在 angularjs 中开发多个文件上传模块作为前端。我正在使用 FormData 发送文件。因此,它是多个文件上传,我循环文件并将文件附加到 FormData。除此之外,我还发送了一个额外的参数。

 var files = new FormData();
        angular.forEach(this.pendingFiles, function (value, index) {
            files.append(index, value);
            files.append('data', angular.toJson(index).replace(/['"]+/g, ''));
        });
  return $http.post(this.uploadUrl, files, {
            transformRequest: angular.identity,
            headers: {
                'Content-Type': undefined
            }
        })

下面是我的指令

myapp.directive('fileModel', ['fileUpload', function (fileUpload) {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            element.bind("change", function (evt) {
                fileUpload.pendingFiles[attrs.fileModel] = evt.target.files[0];
            });
        }
    };
}]);

当我运行 angularjs 脚本时,上面的代码工作正常。 我正在尝试使用 POSTMAN 上传文件。我在这里苦苦挣扎,我该如何发送以下数据

  files.append(index, value);
  files.append('data', angular.toJson(index).replace(/['"]+/g, ''));

我知道正常的文件上传。我的问题是我有一个额外的参数数据。我不知道如何通过邮递员发送?有人可以在这方面帮助我吗?任何帮助,将不胜感激。谢谢。

【问题讨论】:

  • 您可以将额外的参数作为文本发送,数据作为键,值作为索引值。
  • 谢谢。请问我可以举一些例子吗?
  • 我添加了一个例子

标签: javascript angularjs postman


【解决方案1】:

在 postman 中,将方法类型设置为 POST。

然后选择Body -> form-data -> 输入你的参数名称(文件根据你的代码) 对于其余基于“文本”的参数,您可以像通常使用邮递员一样发布它。您可以在下图中看到一个示例。

但您可能希望在代码中使数据键动态化。否则,如果您使用具有多个值的相同键名,则在服务器端应将其作为数组处理'data':['Passport','Visa']

【讨论】:

  • 在屏幕截图中 fileName1 和 fileName2 应该是 Passport 和 Visa 但例如我只是输入了虚拟名称。
猜你喜欢
  • 2021-07-08
  • 1970-01-01
  • 1970-01-01
  • 2020-03-03
  • 2019-04-30
  • 2017-09-11
  • 2023-01-25
  • 2017-12-09
  • 2020-12-15
相关资源
最近更新 更多