Example #1
0
        private async void downButton_Click_1(object sender, RoutedEventArgs e) //下载
        {
            try
            {
                msgText.Text = "亲:正在下载";
                string id         = string.Empty;
                var    authClient = new LiveAuthClient();
                var    authResult = await authClient.LoginAsync(new string[] { "wl.skydrive" });

                if (authResult.Session != null)
                {
                    var connectClient = new LiveConnectClient(authResult.Session);



                    LiveOperationResult operationResult = await connectClient.GetAsync("me/skydrive/search?q=WorkBook.xml");

                    List <object> items = operationResult.Result["data"] as List <object>;
                    IDictionary <string, object> file = items.First() as IDictionary <string, object>;
                    id = file["id"].ToString();

                    LiveDownloadOperation operation = await connectClient.CreateBackgroundDownloadAsync(string.Format("{0}/content", id));

                    var result = await operation.StartAsync();

                    Stream stream = result.Stream.AsStreamForRead();

                    StorageFolder localFolder = ApplicationData.Current.LocalFolder;
                    StorageFile   files       = await localFolder.GetFileAsync(App.WordBookFileName);

                    XDocument xBook = XDocument.Load(stream);
                    await FileIO.WriteTextAsync(files, xBook.ToString());

                    msgText.Text = "恭喜:您已成功从OneDrive下载生词!";
                }
            }
            catch (Exception ex)
            {
                msgText.Text = ex.Message;
            }
        }
Example #2
0
        private async void downButton_Click_1(object sender, RoutedEventArgs e)//下载
        {
            try
            {
                msgText.Text = "亲:正在下载";
                string id         = string.Empty;
                var    authClient = new LiveAuthClient();
                var    authResult = await authClient.LoginAsync(new string[] { "wl.skydrive" });

                if (authResult.Session != null)
                {
                    var connectClient = new LiveConnectClient(authResult.Session);
                    LiveOperationResult operationResult = await connectClient.GetAsync("me/skydrive/search?q=notes.json");

                    List <object> items = operationResult.Result["data"] as List <object>;
                    IDictionary <string, object> file = items.First() as IDictionary <string, object>;
                    id = file["id"].ToString();
                    LiveDownloadOperation operation = await connectClient.CreateBackgroundDownloadAsync(string.Format("{0}/content", id));

                    var result = await operation.StartAsync();

                    Stream stream = result.Stream.AsStreamForRead();
                    Notes = (ObservableCollection <Note>)jsonSerializer.ReadObject(stream);
                    StorageFile files = await ApplicationData.Current.LocalFolder.GetFileAsync(fileName);

                    using (var streamJson = await ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync(fileName,
                                                                                                              CreationCollisionOption.ReplaceExisting))
                    {
                        jsonSerializer.WriteObject(streamJson, Notes);
                    }
                    msgText.Text = "恭喜:您已成功从OneDrive下载记事!";

                    Frame.Navigate(typeof(MainPage));
                }
            }
            catch (Exception ex)
            {
                msgText.Text = ex.Message;
            }
        }
Example #3
0
        private async Task LoadProfileImage(LiveConnectClient connectClient)
        {
            try
            {
                LiveDownloadOperation downloadOperation = await connectClient.CreateBackgroundDownloadAsync("me/picture");

                LiveDownloadOperationResult result = await downloadOperation.StartAsync();

                if (result != null && result.Stream != null)
                {
                    using (IRandomAccessStream ras = await result.GetRandomAccessStreamAsync())
                    {
                        BitmapImage imgSource = new BitmapImage();
                        imgSource.SetSource(ras);
                        profileImage.Source = imgSource;
                    }
                }
            }
            catch (LiveConnectException)
            {
                // Handle error cases.
            }
        }
        private async void RunButton_Click(object sender, RoutedEventArgs e)
        {
            string message = null;

            try
            {
                // Ensure that the user has consented the wl.skydrive and wl.skydrive_update scopes
                var authClient = new LiveAuthClient();
                var authResult = await authClient.LoginAsync(new string[] { "wl.skydrive", "wl.skydrive_update" });

                if (authResult.Session == null)
                {
                    throw new InvalidOperationException("You need to sign in and give consent to the app.");
                }

                var liveConnectClient = new LiveConnectClient(authResult.Session);
                // Validate parameters
                var imageSourceUrl = imgSourceUrlTextBox.Text;
                if (string.IsNullOrWhiteSpace(imageSourceUrl))
                {
                    throw new InvalidOperationException("Image Url is empty.");
                }

                var uploadPath = uploadPathTextBox.Text;
                if (string.IsNullOrWhiteSpace(uploadPath))
                {
                    throw new InvalidOperationException("Upload location is empty.");
                }

                // Download the image from the Internet
                var networkFileDownloader = new BackgroundDownloader();
                DownloadOperation networkFileDownloadOperation = networkFileDownloader.CreateDownload(new Uri(imageSourceUrl), null);
                await networkFileDownloadOperation.StartAsync();

                IInputStream uploadInputStream = networkFileDownloadOperation.GetResultStreamAt(0);


                // Upload to OneDrive
                LiveUploadOperation uploadOperation = await liveConnectClient.CreateBackgroundUploadAsync(uploadPath, "ImageFromInternet.jpg", uploadInputStream, OverwriteOption.Rename);

                LiveOperationResult uploadResult = await uploadOperation.StartAsync();

                dynamic uploadedResource     = uploadResult.Result;
                string  uploadedResourceId   = uploadedResource.id;
                string  uploadedResourceName = uploadedResource.name;
                string  uploadedResourceLink = uploadedResource.source;
                uploadedResourceTextBox.Text = string.Format("{0}\r\n{1}\r\n{2}", uploadedResourceId, uploadedResourceName, uploadedResourceLink);

                // Download from the OneDrive
                LiveDownloadOperation downloadOperation = await liveConnectClient.CreateBackgroundDownloadAsync(uploadedResourceId + "/content");

                LiveDownloadOperationResult downloadResult = await downloadOperation.StartAsync();

                if (downloadResult != null && downloadResult.Stream != null)
                {
                    using (IRandomAccessStream ras = await downloadResult.GetRandomAccessStreamAsync())
                    {
                        BitmapImage imgSource = new BitmapImage();
                        imgSource.SetSource(ras);
                        skydriveImage.Source = imgSource;
                    }
                }
            }
            catch (Exception ex)
            {
                message = "Operation failed: " + ex.Message;
            }

            if (message != null)
            {
                var dialog = new Windows.UI.Popups.MessageDialog(message);
                await dialog.ShowAsync();
            }
        }