如何通过.net webservice将音频文件从android上传到服务器?

时间:2012-11-07 13:25:48

标签: android asp.net-mvc asp.net-mvc-3

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

1 个答案:

答案 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);
 }