我正在努力实现一件事。我想显示上传文件的进度状态。服务器端接受分段请求。
在Android和iOS下运行的其他应用程序完美地显示了进度百分比,使用相同的服务器端,我正在尝试在我的Windows Phone应用程序中使用。
我可以使用RestSharp
库或HttpClient
上传文件,但我找不到显示上传文件百分比的方法。
我试图寻找这样做的方法,但没有成功。 ExecuteAsync
方法,不提供某种回调函数,我可以在其中显示上传文件的当前状态。
另外,还有一些按名称Background file transfers
的东西(http://msdn.microsoft.com/en-us/library/windows/apps/hh202955(v=vs.105).aspx),但这相当困难,但我试图理解它。
我已经看到,这样的目标在Android或iOS中很容易解决。我认为Windows Phone的Microsoft产品要好得多,并且必须有很好的库,这将使我有可能以上传文件的百分比显示状态。
好吧,这里有一些伪代码,进度的技巧在Progress<DownloadOperation>
处理程序中:
Uri uri = ...
StorageFile storageFile = ...
CancellationTokenSource cts = ...
BackgroundDownloader downloader = new BackgroundDownloader();
DownloadOperation download = downloader.CreateDownload(uri, storageFile);
Progress<DownloadOperation> progressCallback = new Progress<DownloadOperation>(OnDownloadPregress);
await download.StartAsync().AsTask(cts.Token, progressCallback);