我们在MVC3中制作了一个Web应用程序,该应用程序托管在Android& Iphone也。现在android开发人员试图通过我们的方法上传音频文件,该方法在控制器中写为http post方法。他们说他们正在以多部分块或字节缓冲体的形式发送文件。所以我在我的方法中使用了byte array []类型的变量,但是类型与它们的数据类型不一致。我甚至试图保留字符串,字节,httppostedfilebase类型,但仍然没有成功。任何帮助将不胜感激。
答案 0 :(得分:0)
查看VoiceModel开源项目,了解如何使用ASP.NET MVC保存音频的示例。这里有一个名为RecordingExample的示例项目,它接收从VoiceXML浏览器或交互式语音应答(IVR)系统发送的音频文件,并将其保存到文件系统。以下是接收音频文件并将其保存到磁盘的代码。
[HttpPost]
public ActionResult SaveRecording(HttpPostedFileBase CallersMessage)
{
if (CallersMessage != null && CallersMessage.ContentLength > 0)
{
// extract only the fielname
var fileName = Path.GetFileName(CallersMessage.FileName);
// store the file inside ~/App_Data/uploads folder
var path = Path.Combine(Server.MapPath(recordingPath), fileName);
_log.Debug("Received recording and will save as " + path);
CallersMessage.SaveAs(path);
}
string vm_id = Request.QueryString["vm_id"];
string vm_event = Request.QueryString["vm_event"];
string vm_result = "";
return VoiceView(vm_id, vm_event, vm_result);
}