예제 #1
0
        private async void MainMap_ActualCameraChanged(MapControl sender, MapActualCameraChangedEventArgs args)
        {
            GeoboundingBox bounds;

            try
            {
                var downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader();

                bounds = new GeoboundingBox(MainMap.TopLeft, MainMap.BottomRight);
            }
            catch (Exception) { return; }
            long lm = DateTime.Now.Ticks;

            LastMove = lm;
            await Task.Delay(50);

            if (LastMove == lm)
            {
                if (MainMap.ZoomLevel < MainMap.StopVisibilityThreshold)
                {
                    return;
                }
                try
                {
                    AddStopsInBounds(bounds, false);
                }
                catch (TaskCanceledException) { }
            }
        }
예제 #2
0
        public async Task Download(Progress <double> progress = null)
        {
            HttpResponse r; r.
            var          downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader();
            Task         s;

            // Create a new download operation.
            var ownload = downloader.CreateDownload(null, null, null).StartAsync().AsTask().w;

            // Start the download and persist the promise to be able to cancel the download.
            promise = ownload.Progress....startAsync().then(complete, error, progress);
        }
예제 #3
0
        internal async void Save()
        {
            var url       = new Uri(post.photourl.First().Value);
            var folder    = KnownFolders.PicturesLibrary;
            var photoFile = await folder.CreateFileAsync($"tumblrViewer.jpg", CreationCollisionOption.GenerateUniqueName);

            var downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader();
            var dl         = downloader.CreateDownload(url, photoFile);
            await dl.StartAsync();

            SavedPopUp();
        }
        private async void DownloadMediaContent()
        {
            var dt = DateTime.Now;
            var f  = await DownloadsFolder.CreateFolderAsync((dt.Year.ToString() + "-" + dt.Month.ToString() + "-" + dt.Day.ToString() + "-" + dt.Hour + "-" + dt.Minute), CreationCollisionOption.GenerateUniqueName);

            List <StorageFile> Files = new List <StorageFile>();

            switch (_med.MediaType)
            {
            case InstaMediaType.Image:
                Files.Add(await f.CreateFileAsync("Img.jpg", CreationCollisionOption.GenerateUniqueName));
                var file = Files.FirstOrDefault();
                var tsk  = new Windows.Networking.BackgroundTransfer.BackgroundDownloader().CreateDownload(new Uri(_med.Images[0].URI, UriKind.RelativeOrAbsolute), file).StartAsync().AsTask();
                NotifyHelper.CreateNotifyEmpty("Download successfull", $"Image saved into {file.Path}");
                break;

            case InstaMediaType.Video:
                Files.Add(await f.CreateFileAsync("Video.mp4", CreationCollisionOption.GenerateUniqueName));
                var file2 = Files.FirstOrDefault();
                var tsk2  = new Windows.Networking.BackgroundTransfer.BackgroundDownloader().CreateDownload(new Uri(_med.Videos[0].Url, UriKind.RelativeOrAbsolute), file2).StartAsync().AsTask();
                NotifyHelper.CreateNotifyEmpty("Download successfull", $"Image saved into {file2.Path}");
                break;

            case InstaMediaType.Carousel:
                foreach (var item in _med.Carousel)
                {
                    if (item.MediaType == InstaMediaType.Image)
                    {
                        var file3 = await f.CreateFileAsync("Img.jpg", CreationCollisionOption.GenerateUniqueName);

                        var tsk3 = new Windows.Networking.BackgroundTransfer.BackgroundDownloader().CreateDownload(new Uri(item.Images[0].URI, UriKind.RelativeOrAbsolute), file3).StartAsync().AsTask();
                        NotifyHelper.CreateNotifyEmpty("Download successfull", $"Image saved into {file3.Path}");
                    }
                    else
                    {
                        var file3 = await f.CreateFileAsync("Video.mp4", CreationCollisionOption.GenerateUniqueName);

                        var tsk3 = new Windows.Networking.BackgroundTransfer.BackgroundDownloader().CreateDownload(new Uri(item.Videos[0].Url, UriKind.RelativeOrAbsolute), file3).StartAsync().AsTask();
                        NotifyHelper.CreateNotifyEmpty("Download successfull", $"Video saved into {file3.Path}");
                    }
                }
                break;

            default:
                break;
            }
        }
예제 #5
0
        private async void Player(VoiceData data)
        {
            if (data.source.Contains("http://"))
            {
                var file   = await(await appFolder.CreateFolderAsync("WelcomeVoice", CreationCollisionOption.OpenIfExists)).CreateFileAsync(data.id.ToString() + ".mp3", CreationCollisionOption.ReplaceExisting);
                var downer = new Windows.Networking.BackgroundTransfer.BackgroundDownloader();
                var downop = downer.CreateDownload(new Uri(data.source), file);
                await downop.StartAsync();

                mediaplayer.SetSource(await file.OpenReadAsync(), file.ContentType);
            }
            else
            {
                var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(data.source));

                mediaplayer.SetSource(await file.OpenReadAsync(), file.ContentType);
            }
        }
예제 #6
0
        /// <summary>
        /// Initiate the download of the user its profile picture
        /// </summary>
        public async Task LoadProfilePicture()
        {
            try
            {
                StorageFolder LocalFolder = ApplicationData.Current.LocalFolder;
                StorageFile   File        = await LocalFolder.CreateFileAsync(ID + ".png", CreationCollisionOption.ReplaceExisting);

                var Downloader        = new Windows.Networking.BackgroundTransfer.BackgroundDownloader();
                var DownloadOperation = Downloader.CreateDownload(new Uri(String.Format("https://apis.live.net/v5.0/{0}/picture", ID)), File);
                await ProcessDownloadProfilePicture(DownloadOperation, File);

                NotifyPropertyChanged("ProfilePicture");
            }
            catch (Exception e)
            {
                ExtendedEventArgs eea = new ExtendedEventArgs();
                eea.Error = String.Format("An error occurred while accessing the profile picture of your Microsoft account: {0}", e.Message);
                OnConnectionError(eea);
            }
        }
예제 #7
0
            public async Task <Windows.Networking.BackgroundTransfer.DownloadOperation> DownloadBackgroundAsync(Windows.Storage.StorageFile targetFile,
                                                                                                                string containerName, string blobName, Action <Windows.Networking.BackgroundTransfer.DownloadOperation> progressCallback = null)
            {
                var read       = Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPermissions.Read;
                var container  = this.Parent.GetContainer(containerName);
                var signature  = this.GetSas(read, TimeSpan.FromMinutes(5), container.Name, blobName);
                var downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader
                {
                    TransferGroup = Windows.Networking.BackgroundTransfer.BackgroundTransferGroup.CreateGroup(_groupName)
                };
                var download = await downloader.CreateDownloadAsync(signature, targetFile, null);

                if (progressCallback == null)
                {
                    return(await download.StartAsync());
                }
                else
                {
                    return(await download.StartAsync().AsTask(new Progress <Windows.Networking.BackgroundTransfer.DownloadOperation>(progressCallback)));
                }
            }
        //压缩Gif
        private async void btyasuo_Click(object sender, RoutedEventArgs e)
        {
            /*
             * //LINQ 的查询
             * List<int> listA = new List<int> { 1, 2, 3, 5, 7, 9 };
             * List<int> listB = new List<int> { 13, 4, 17, 29, 2 };
             * List<int> ResultA = listA.Union(listB).ToList<int>(); //剔除重复项
             * List<int> ResultB = listA.Concat(listB).ToList<int>();//保留重复项
             * List<int> ResultC = listA.Union(listB).Except(listB).ToList<int>();
             * List<int> ResultD = listA.Union(listB).Except(listA).ToList<int>();
             */

            //压缩
            await Task.Run(async() =>
            {
                //var rass = RandomAccessStreamReference.CreateFromUri(new Uri(this.baseUri, "/Gif/123.gif"));
                var rass             = RandomAccessStreamReference.CreateFromUri(new Uri(this.baseUri, "/Gif/234.gif"));
                var streamRandom     = await rass.OpenReadAsync();
                var streamRandomCopy = streamRandom.CloneStream();
                var stream           = await CompressionHelper.CompressionGif(streamRandom, 400, 300);
                await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async() =>
                {
                    await imageGif.SetSourceAsync(stream);
                    await gifYaSuo.SetSourceAsync(streamRandomCopy);
                });
            });

            Windows.Networking.BackgroundTransfer.BackgroundDownloader bgd = new Windows.Networking.BackgroundTransfer.BackgroundDownloader();
            //测试返回String
            var sss = await GetAsyncTaskSample();

            //BitmapImage bi = new BitmapImage();
            //HttpDownLoadHelper hdlh = new HttpDownLoadHelper();
            //var ss = await hdlh.StartDownload(new Uri("http://ww4.sinaimg.cn/bmiddle/636b6f59jw1e2exg8yk5pj.jpg", UriKind.RelativeOrAbsolute));
            //await bi.SetSourceAsync(ss);
            //ceshiImage.Source = bi;
            hdlch = new HttpDownLoadContinueHelper();
            hdlch.DownLoadChanging += new EventHandler <WinRtHttpHelper.Data.DownLoadChangingEventArgs>(DownLoadChanging);
            var ss = await hdlch.StartDownload(new Uri("http://ww4.sinaimg.cn/bmiddle/636b6f59jw1e2exg8yk5pj.jpg", UriKind.RelativeOrAbsolute));
        }
예제 #9
0
 public async Task<Windows.Networking.BackgroundTransfer.DownloadOperation> DownloadBackgroundAsync(Windows.Storage.StorageFile targetFile,
     string containerName, string blobName, Action<Windows.Networking.BackgroundTransfer.DownloadOperation> progressCallback = null)
 {
     var read = Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPermissions.Read;
     var container = this.Parent.GetContainer(containerName);
     var signature = this.GetSas(read, TimeSpan.FromMinutes(5), container.Name, blobName);
     var downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader
     {
         TransferGroup = Windows.Networking.BackgroundTransfer.BackgroundTransferGroup.CreateGroup(_groupName)
     };
     var download = await downloader.CreateDownloadAsync(signature, targetFile, null);
     if (progressCallback == null)
         return await download.StartAsync();
     else
         return await download.StartAsync().AsTask(new Progress<Windows.Networking.BackgroundTransfer.DownloadOperation>(progressCallback));
 }
예제 #10
0
        public static async Task AddTaskAsync(string url, string filename)
        {
            await getpicfolder();

            string ex;

            try
            {
                ex = Path.GetExtension(url);
            }
            catch
            {
                ex = ".jpg";
            }
            if (Uri.TryCreate(url, UriKind.Absolute, out Uri result))
            {
                int policy;
                try
                {
                    policy = (int)AppDataHelper.GetValue("BackgroundTransferCostPolicy");
                }
                catch
                {
                    policy = 0;
                }
                try
                {
                    var file = await pictureFolder.CreateFileAsync(filename + ex, CreationCollisionOption.FailIfExists);

                    Windows.Networking.BackgroundTransfer.BackgroundTransferCostPolicy costpolicy;
                    switch (policy)
                    {
                    default:
                    case 0:
                        costpolicy = Windows.Networking.BackgroundTransfer.BackgroundTransferCostPolicy.UnrestrictedOnly;
                        break;

                    case 1:
                        costpolicy = Windows.Networking.BackgroundTransfer.BackgroundTransferCostPolicy.Default;
                        break;

                    case 2:
                        costpolicy = Windows.Networking.BackgroundTransfer.BackgroundTransferCostPolicy.Always;
                        break;

                    case 3:
                        using (var res = await Data.TmpData.CurrentAuth.Tokens.SendRequestToGetImageAsync(Pixeez.MethodType.GET, url))
                        {
                            using (var stream = await res.GetResponseStreamAsync())
                            {
                                using (var filestream = await file.OpenStreamForWriteAsync())
                                {
                                    await stream.CopyToAsync(filestream);
                                }
                            }
                        }
                        return;
                    }
                    var downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader()
                    {
                        CostPolicy = costpolicy
                    };
                    downloader.SetRequestHeader("Referer", "https://app-api.pixiv.net/");
                    var op = downloader.CreateDownload(result, file);
                    var a  = op.StartAsync();
                }
                catch { }
            }
        }
예제 #11
0
 private async void MainMap_ActualCameraChanged(MapControl sender, MapActualCameraChangedEventArgs args)
 {
     GeoboundingBox bounds;
     try
     {
         var downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader();
         
         bounds = new GeoboundingBox(MainMap.TopLeft, MainMap.BottomRight);
     }
     catch (Exception) { return; }
     long lm = DateTime.Now.Ticks;
     LastMove = lm;
     await Task.Delay(50);
     if (LastMove == lm)
     {
         if (MainMap.ZoomLevel < MainMap.StopVisibilityThreshold) return;
         try
         {
             AddStopsInBounds(bounds, false);
         }
         catch (TaskCanceledException) { }
     }
 }
예제 #12
0
 private async void Player(VoiceData data)
 {
     if(data.source.Contains("http://"))
     {
         var file = await (await appFolder.CreateFolderAsync("WelcomeVoice", CreationCollisionOption.OpenIfExists)).CreateFileAsync(data.id.ToString() + ".mp3", CreationCollisionOption.ReplaceExisting);
         var downer = new Windows.Networking.BackgroundTransfer.BackgroundDownloader();
         var downop= downer.CreateDownload(new Uri(data.source), file);
         await downop.StartAsync();
         mediaplayer.SetSource(await file.OpenReadAsync(), file.ContentType);
     }
     else
     {
         var file =await StorageFile.GetFileFromApplicationUriAsync(new Uri(data.source));
         mediaplayer.SetSource(await file.OpenReadAsync(), file.ContentType);
     }
 }