2014-01-20 11 views
0

我有一個MVC應用程序。我在我的MVC項目中添加了Silverlight應用程序。此Silverlight使用用戶麥克風錄製音頻。現在我遇到了一個如何將錄製的音頻傳遞給MVC操作的問題,所以我可以將這些數據保存到服務器上的本地文件夾中。如何將數據從silverlight發送到MVC Action?

this.audioData; // It's byte[] 

public void SaveFile() 
{ 
    WebClient net = new WebClient(); 
    string data = UTF8Encoding.UTF8.GetString(this.audioData, 0, this.audioData.Length); 

    net.UploadStringAsync(new Uri("/Home/SaveFile", UriKind.Relative), data); 
} 

我試過使用WebClient,但是如何在Action中接收這些數據?

這裏是我的操作:

[HttpPost] 
public ActionResult SaveFile(string data) 
{ 

    return View(); 
} 

但我的數據是空的......我知道,我恭敬地做錯了什麼。將我的byte[]傳遞給MVC Action的最佳方式是什麼?

+0

使用調試器可以檢查請求的內容和它的屬性在'SAVEFILE(字符串數據)'。數據可能位於請求正文中,而不是映射到參數。 –

回答

0

你需要的東西,如:

[HttpPost] 
    public ActionResult FileUpload(HttpPostedFileBase uploadFile) 
    { 
     if (uploadFile.ContentLength > 0) 
     { 
      // do something 
      // as example try to save file somewhere uploadFile.SaveAs(somewhere); 
     } 
     return View(); 
    } 
相關問題