我有一个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操作的最佳方法是什么?
答案 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();
}