如何将数据从silverlight应用程序发送到MVC Action?

时间:2014-01-20 23:03:34

标签: c# asp.net-mvc silverlight asp.net-mvc-4

我有一个MVC应用程序。我在我的MVC项目中添加了一个silverlight应用程序。此Silverlight使用用户麦克风录制音频。现在我遇到了如何将录制的音频传递给MVC动作的问题,因此我可以将这些数据保存到服务器上的本地文件夹中。

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操作的最佳方法是什么?

1 个答案:

答案 0 :(得分: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();
    }