我需要我的 Windows Phone 应用程序能够使用 Mango 中提供的 BackgroundTransferService 将音频文件上传到我的 MVC3 站点。
作为一种可能的解决方案,我可以:
将路由映射到我的控制器:
public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "SingleAudioFile", "Api/Audio/Recieve", new { controller = "AudioFiles", action = "Recieve" } ); }
在控制器中,有一个 Recieve 动作
[HttpPost] public JsonResult Recieve(byte[] audio) { // saving and status report logic here }
我的问题是:如何设置系统以将我从 Windows Phone 上传的文件绑定到Recieve
操作的audio
byte[] 参数?
在手机上,数据通过以下方式上传:
BackgroundTransferRequest btr = new BackgroundTransferRequest (new Uri
(siteUrl + "Api/Audio/Recieve",UriKind.Absolute));
btr.TransferPreferences = TransferPreferences.AllowBattery;
btr.Method = "POST";
btr.UploadLocation = new Uri("/" + Transfers + "/" + isoAudioFileName, UriKind.Relative);
Microsoft.Phone.BackgroundTransfer.BackgroundTransferService.Add(btr);