2015-11-05 39 views
0

我想要獲取一個文件和模型到我的api控制器,並通過發送來自提琴手的請求來測試它。到目前爲止,我已經設法使用MultipartDataMediaFormatter接收文件,但我無法接收字段。在一些變量將是空的:多部分窗體不接收字段

[HttpPost] 
    public IHttpActionResult Add(FormData formData) 
    { 
     HttpFile file; 
     formData.TryGetValue("fieldNameHere", out file); 
     string some; 
     formData.TryGetValue("code", out some); 

請求是

---------------------------acebdf13572468  
Content-Disposition: form-data; name="fieldNameHere"; filename="result.pdf"  
Content-Type: application/pdf 

<@INCLUDE *C:\Users\mikhail.yakhyaev\Documents\result.pdf*@> 

---------------------------acebdf13572468  
Content-Disposition: form-data; name="code" 

asdf 

---------------------------acebdf13572468-- 

我試圖使簽名IHttpActionResult Add(HttpPostedFileBase fieldNameHere),但返回的錯誤請求不匹配的方法。 也許請求本身包含錯誤?

回答

0

我剛剛遇到同樣的問題,幸運地嘗試了很多並找出解決方案。 你有沒有注意到你的模型內容類型的要求也表單數據,這是你不能在這way.The代碼API使用FORMDATA的原因:

public IHttpActionResult Add(FormData formData) 
{ 
    foreach(var fileValue in formData.Files){ 
    //do any you want 
    } 
    foreach(var field in formData.Fields){ 
    //do any you want 
    } 
    //may that be helpful 
} 
0

你加encType = "multipart/form-data"到窗體標籤鑑於?