private async void uploadButton_Click(object sender, RoutedEventArgs e)//上传 { try { msgText.Text = "亲:正在上传"; var authClient = new LiveAuthClient(); var authResult = await authClient.LoginAsync(new string[] { "wl.skydrive", "wl.skydrive_update" }); if (authResult.Session != null) { var liveConnectClient = new LiveConnectClient(authResult.Session); StorageFolder localFolder = ApplicationData.Current.LocalFolder; StorageFile file = await localFolder.GetFileAsync(App.WordBookFileName); String fileText = await FileIO.ReadTextAsync(file); LiveUploadOperation uploadOperation = await liveConnectClient.CreateBackgroundUploadAsync( "me/skydrive", file.Name, file, OverwriteOption.Overwrite); LiveOperationResult uploadResult = await uploadOperation.StartAsync(); if (uploadResult.Result != null) { msgText.Text = "恭喜:您已成功同步生词至OneDrive!"; } } } catch (LiveAuthException ex) { msgText.Text = ex.Message; } catch (LiveConnectException ex) { msgText.Text = ex.Message; } }
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(); } }
private async void uploadToOnedriveButton_Click(object sender, RoutedEventArgs e) { try { if (loginResult.Session != null) { var liveConnectClient = new LiveConnectClient(loginResult.Session); String uploadPath = "me/skydrive"; StorageFile getfile = await ApplicationData.Current.LocalFolder.GetFileAsync("MoneyNote.db"); // Upload to OneDrive. //uploadpath, fileName, uploadinputstream. overriteoption LiveUploadOperation uploadOperation = await liveConnectClient.CreateBackgroundUploadAsync( uploadPath, "MoneyNote.db", getfile, OverwriteOption.Overwrite); LiveOperationResult uploadResult = await uploadOperation.StartAsync(); messagePrint(true, "upload"); } } catch (LiveAuthException ex) { // Handle errors. ex.Message.ToString(); messagePrint(false, "upload"); } catch (LiveConnectException ex) { // Handle errors. ex.Message.ToString(); messagePrint(false, "upload"); } catch (Exception ex) { // Handle Error. ex.Message.ToString(); messagePrint(false, "upload"); } }