如何在Windows Phone应用程序(C#)中显示上载进度?

时间:2015-01-18 16:45:53

标签: c# windows-runtime windows-phone-8.1 httpclient win-phone-silverlight-8.1

我正在努力实现一件事。我想显示上传文件的进度状态。服务器端接受多部分请求。

在Android和Android下运行的其他应用程序iOS正在使用相同的服务器端完美显示进度百分比,我正在尝试在Windows Phone应用程序中使用它。

我可以使用RestSharp库或HttpClient上传文件,但我找不到热门来显示上传文件的百分比。

我试图搜索这样做的方式,但没有成功。 ExecuteAsync方法,不提供某种回调函数,其中我可以显示上传文件的当前状态。

另外,名称(http://msdn.microsoft.com/en-us/library/windows/apps/hh202955(v=vs.105).aspx)有一些Background file transfers,但这很难,但我正在努力理解它。

我已经看到,这样的目标在Android或iOS中很容易解决。我认为用于Windows Phone的Microsoft产品要好几英里,而且必须有很好的库,这样我才有可能以上传文件的百分比显示状态。

1 个答案:

答案 0 :(得分:0)

嗯,这里有一些伪代码,进展的诀窍在于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);