如何从angularJS同时上传文件和Json数据到MVC?

时间:2016-09-09 19:46:15

标签: angularjs asp.net-mvc

我有一个这样的对象:

var user= {
  name:"test",
  lastname: "test1"
  year: "52"
}

和文件数组:

var files= [];
files.push(
    $scope.file1,
    $scope.file2,
    $scope.file3,
);

我试图使用以下代码上传数组文件和json数据:

$http({
     url: '/Create/User',
     method: 'POST',                
     data: {model: angular.toJson(user), files: files}, // {model: user, files: files}
     headers: { 'Content-Type': undefined },         
     transformRequest: function(data) {
     var formData = new FormData();                    
     formData.append("model", data.model);
     for (var i = 0; i < data.files.length; i++) {
         formData.append("files[" + i + "]", data.files[i]);
     }                   
     return formData;
     },       
 })

当我发送数据时,我只是获取文件,但模型中的值为空,我做错了什么?

[HttpPost]
public ActionResult User(UserVM model, HttpPostedFileBase[] files)
{
    return Json(new { success = true });
}

我使用角度版本1.5.7。谢谢你的帮助。

0 个答案:

没有答案