我正在开发一个项目,我需要使用Background下载程序下载大文件。从服务器生成的可下载文件的URL将每隔几个小时到期。因此,如果在会话中未完成下载,则服务器将发送403响应。我的问题是有没有办法通过使用Background transfer API从服务器生成新链接来从它离开的地方恢复下载?
以下是我用来下载的代码
try
{
StorageFile file = await folder.CreateFileAsync("Ubuntu.iso", CreationCollisionOption.ReplaceExisting);
string Url = WebUtility.HtmlDecode("http://somedomain.com/files/ubuntu.iso?session=v0iAPtjB%2fu%2bvTjiqlFtvuhF0e46RTF4dQYXJW0lIHW0%3d&ts=1493640124);
downloadOperation = backgroundDownloader.CreateDownload(new Uri(Url), file);
Progress<DownloadOperation> progress = new Progress<DownloadOperation>(progressChanged);
cancellationToken = new CancellationTokenSource();
await downloadOperation.StartAsync().AsTask(cancellationToken.Token, progress);
}
catch(Exception ex)
{
//handle exceptions
}