Ejemplo n.º 1
0
        //创建后台下载任务
        public async void CreateBackDownload(string fileName, Uri uri)
        {
            var folder = await GetDownloadFolder();

            fileName = _utilityHelper.ReplaceInvalidCharactorsInFileName(fileName);
            var file = await _storageService.CreaterFile(folder, fileName);

            var operation = _downloader.CreateDownload(uri, file);

            try
            {
                await operation.StartAsync();
            }
            catch
            {
            }
            var thumb = await _storageService.GetThumbBytes(file);

            DownloadedInfo info = new DownloadedInfo()
            {
                DownloadedTime = DateTime.Now,
                FileName       = fileName,
                FilePath       = file.Path,
                Size           = operation.Progress.TotalBytesToReceive,
                Thumb          = thumb
            };

            StoreDownloadedInfo(info);

            _notificationService.ShowDownloadFinishedToast(info.FileName);
        }
Ejemplo n.º 2
0
        //将正在下载信息转换为下载完成信息
        public async Task <DownloadedInfo> FinishedDownload(DownloadInfo downloadInfo)
        {
            DownloadedInfo downloadedInfo = new DownloadedInfo();

            downloadedInfo.DownloadedTime = DateTime.Now;
            downloadedInfo.FileName       = downloadInfo.FileName;
            downloadedInfo.FilePath       = downloadInfo.DownloadOperation.ResultFile.Path;
            downloadedInfo.Size           = downloadInfo.TotalToReceive;

            var file = downloadInfo.DownloadOperation.ResultFile;

            downloadedInfo.Thumb = await _storageService.GetThumbBytes(file);

            return(downloadedInfo);
        }
Ejemplo n.º 3
0
 //存储下载完成的信息
 public async void StoreDownloadedInfo(DownloadedInfo downloadedInfo)
 {
     _dbService.DownloadDbContext.DownloadedInfos.Add(downloadedInfo);
     await _dbService.DownloadDbContext.SaveChangesAsync();
 }