我的表单将有两个文件输入字段和其他字段。用户将调整两种不同类型的文件并输入一些数据。在提交按钮上,我想将这两个文件和附带的数据一起发送到服务器。
我遇到过两个Angular File Uploader
两者都允许多个文件,但每个文件都有一个Http请求。但我想要的行为是1发送两个文件和一些JSON数据的Post请求。
我的后端在NodeJS中。
答案 0 :(得分:1)
你会想要这样的东西。
$http({
method: 'POST',
url: '/api/fogbugz/bug/create',
data: { request: $scope.request, files: $scope.files },
headers: { 'Content-Type': undefined },
transformRequest: function(data) {
var formData = new FormData();
formData.append("request", angular.toJson(data.request));
for (var i = 0; i < data.files.length; i++) {
formData.append("File" + (i + 1), data.files[i]);
}
formData.append("nFileCount", data.files.length);
return formData;
}
}).success(function(data) {
}).error(function(error, response) {
});
重要的是你必须在标题中将set Content-Type设置为undefined而不是multipart / form-data,因为undefined将为表单数据设置正确的边界。