使用多个键上传POSTMAN文件

时间:2017-06-21 06:52:27

标签: javascript angularjs postman

您好我正在开发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, ''));

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

1 个答案:

答案 0 :(得分:0)

在邮递员中,将方法类型设置为POST。

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

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