1

我们有一个用 MVC3 制作的 Web 应用程序,它也托管在 Android 和 Iphone 中。现在,android 开发人员正试图通过我们在控制器中作为 http post 方法编写的方法上传音频文件。他们说他们正在以多部分块或字节缓冲区主体的形式发送文件。所以我在我的方法中采用了 byte array[] 类型的变量,但类型与它们的 datatype 不一致。我什至尝试保留字符串、字节、httppostedfilebase 类型,但仍然没有成功。任何帮助,将不胜感激 。

4

1 回答 1

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);
 }
于 2012-11-07T13:42:39.893 回答