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; } }
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; } }
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(); } }