2017-08-28 61 views
1

我想用表單中的其他數據發佈多個文件。從角度到MVC控制器發佈多個文件與其他數據

我沒有收到後端數據的文件,我試過Request.Form [「model」],並且能夠獲取表單的數據但不是文件,所以我在文件列表後面這樣我可以將它們保存在服務器文件夾中。

我的角度支柱代碼

$http({ 
      method: 'POST', 
      url: baseURL + "/AddToCart", 
      headers: { 'Content-Type': undefined }, 

      transformRequest: function (data) {    
       var formData = new FormData(); 
       formData.append("model", angular.toJson(data.model)); 
       for (var i = 0; i < data.model.Item.length; i++) {     
        formData.append("file" + i, data.model.Item[i].Image); 
       } 
       return formData; 
      }, 
      data: { model: model } 
     }). 
     success(function (data, status, headers, config) { 
      alert("success!"); 
     }). 
     error(function (data, status, headers, config) { 
      alert("failed!"); 
     });  
    } 

守則MVC控制器

public JsonResult AddToCart() 
     { 
      try 
      { 

       string documentContents; 
       using (Stream receiveStream = Request.InputStream) 
       { 
        using (StreamReader readStream = new StreamReader(receiveStream, Request.ContentEncoding)) 
        { 
         documentContents = readStream.ReadToEnd(); 
        } 
       } 
} 
+0

什麼是你面對 –

+0

我沒有收到文件錯誤在後端的數據中,我嘗試了Request.Form [「model」]並能夠獲取表單的數據,但不能獲取文件,所以我在文件列表後面,以便我可以將它們保存在服務器文件夾中。 –

+0

只是試圖在目前情況下HttpContext.Current.Request.Params [「模型」] 發現它還有你的東東在你的方法將此[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required) –

回答

1

使用這樣

  var x = Request.Files; 
      var y = Request.Form["model"]; 
+0

謝謝,它的工作。 –