Download 后台下载程序可以';t将文件写入SD卡(WP8.1)
对不起,我的英语不好。。。 我的应用程序下载MP3文件并将其写入musicLibrary。下载通过BackgroundDownloader执行的文件。问题如下:下载在手机内部存储器中完成,但在SD卡上未完成。SD卡上的文件大小为0字节。 在清单中,应用程序有权访问internetClientServer、musicLibrary和removableStorageDownload 后台下载程序可以';t将文件写入SD卡(WP8.1),download,background,windows-phone-8.1,Download,Background,Windows Phone 8.1,对不起,我的英语不好。。。 我的应用程序下载MP3文件并将其写入musicLibrary。下载通过BackgroundDownloader执行的文件。问题如下:下载在手机内部存储器中完成,但在SD卡上未完成。SD卡上的文件大小为0字节。 在清单中,应用程序有权访问internetClientServer、musicLibrary和removableStorage public async void HandleSelectDownload(string urlDownload, string f
public async void HandleSelectDownload(string urlDownload, string fileNameSave)
{
try
{
// Thông số tải nhạc
var requestUri = new Uri(urlDownload, UriKind.RelativeOrAbsolute);
downloadTo = await KnownFolders.MusicLibrary.CreateFileAsync(fileNameSave, CreationCollisionOption.GenerateUniqueName);
BackgroundDownloader downloader = new BackgroundDownloader();
DownloadOperation operation = downloader.CreateDownload(requestUri, downloadTo);
//progressbar
Progress<DownloadOperation> downloadProgress = new Progress<DownloadOperation>(DownloadProgress);
// start download
await operation.StartAsync().AsTask(downloadProgress);
}
}
catch (Exception ex) { Debug.WriteLine("HandleSelectDownload Error : \n" + ex); }
}
public void DownloadProgress(DownloadOperation operation)
{
try
{
if (operation.Progress.TotalBytesToReceive == 0) return;
int progress = (int)(100 * ((double)operation.Progress.BytesReceived / (double)operation.Progress.TotalBytesToReceive));
Debug.WriteLine(String.Format("{0} of {1} kb. downloaded - %{2} complete.", operation.Progress.BytesReceived / 1024, operation.Progress.TotalBytesToReceive / 1024, progress));
if (progress >= 100)
{
Debug.WriteLine("Finish!: {0} ", operation.ResultFile.Name);
}
}
catch (Exception ex) { Debug.WriteLine("DownloadProgress Error :" + ex); }
}
public async void HandleSelectDownload(字符串urldoad,字符串fileNameSave)
{
尝试
{
//东斯ố Tải nhạC
var requestUri=新Uri(urlDownload,UriKind.RelativeOrAbsolute);
downloadTo=wait KnownFolders.MusicLibrary.CreateFileAsync(fileNameSave,CreationCollisionOption.GenerateUniqueName);
BackgroundDownloader downloader=新的BackgroundDownloader();
DownloadOperation=downloader.CreateDownload(requestUri,downloadTo);
//进度条
进度下载进度=新进度(下载进度);
//开始下载
等待操作.StartAsync().AsTask(下载进度);
}
}
catch(异常ex){Debug.WriteLine(“HandleSelectDownload错误:\n”+ex);}
}
公共作废下载进度(下载操作)
{
尝试
{
if(operation.Progress.TotalBytesToReceive==0)返回;
int progress=(int)(100*((double)operation.progress.BytesReceived/(double)operation.progress.TotalBytesToReceive));
Debug.WriteLine(String.Format({1}kb.downloaded-%%{2}complete.{0}),operation.Progress.BytesReceived/1024,operation.Progress.TotalBytesToReceive/1024,Progress));
如果(进度>=100)
{
WriteLine(“Finish!:{0}”,operation.ResultFile.Name);
}
}
catch(异常ex){Debug.WriteLine(“下载进度错误:+ex);}
}
这是Windows 8/8.1中的一个已知问题,并且一直存在。没有API更改。只需在Windows 10设备上运行应用程序