コード例 #1
0
ファイル: CloudMethods.cs プロジェクト: Naox305/Framework786
            public async Task<Boolean> UpLoadToLive(String thisPath, StorageFile thisFile)
            {

                try
                {
                    LiveConnectClient uploadClient = new LiveConnectClient(meClient.Session);
                    LiveOperationResult result = await uploadClient.GetAsync("/me/skydrive/files");
                    dynamic files = result.Result;
                    List<object> data = (List<object>)files.data;
                    foreach (dynamic item in data)
                    {
                        
                        if (item.name == thisPath)
                        {

                            try
                            {

                                LiveOperationResult uploadResult = await uploadClient.BackgroundUploadAsync(item.id, thisFile.Name, thisFile, OverwriteOption.Overwrite);

                                return true;
                            }
                            catch (NullReferenceException)
                            {
                                return false;
                            }
                            catch (FileNotFoundException)
                            {
                                return false;
                            }
                            catch (ArgumentOutOfRangeException)
                            {
                                return false;
                            }
                        }
                    }
                }
                catch (NullReferenceException)
                {
                }
                catch (LiveConnectException)
                {
                }

                return false;
            }
コード例 #2
0
        private async Task UploadFileToSkydrive(StorageFile file, string eventBuddyFolderId, LiveConnectClient client)
        {
            using (var stream = await file.OpenStreamForReadAsync())
            {
                var progressHandler = InitializeProgressBar();
                var hasErrors = false;

                do
                {
                    try
                    {
                        hasErrors = false;
                        this.retrySelected = false;
                        LiveOperationResult result = await client.BackgroundUploadAsync(eventBuddyFolderId, file.Name, stream.AsInputStream(), OverwriteOption.Overwrite, cancellationToken.Token, progressHandler);
                        this.FileNameTextBlock.Text = file.Name;
                        await UpdateSession(client, result);
                    }
                    catch (LiveConnectException)
                    { 
                        hasErrors = true;
                    }

                    if (hasErrors)
                    {
                        var errorTitle = "Upload file error";
                        await ShowMessage(errorTitle, "Exception occured while trying to upload the " + file.Name + " file to Skydrive.");
                    }

                    uploadProgress.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                } while(this.retrySelected);
            }
        }
コード例 #3
0
ファイル: SkyDriveHelper.cs プロジェクト: noriike/xaml-106136
        public static async Task<SkyDriveFolderInfo> UploadFile(
            StorageFile sourceFile, string skyDriveFileName, string skyDriveParentFolder)
        {
            try
            {
                if (sourceFile != null)
                {
                    if (session == null)
                    {
                        await Login();
                    }
                    var liveClient = new LiveConnectClient(session);
                    LiveOperationResult operationResult =
                        await
                        liveClient.BackgroundUploadAsync(
                            skyDriveParentFolder, skyDriveFileName, sourceFile, OverwriteOption.Overwrite);
                    dynamic result = operationResult.Result;


                    return new SkyDriveFolderInfo(result);
                }

                return null;
            }
            catch (LiveConnectException exception)
            {
                throw new Exception("Unable to upload file to " + skyDriveFileName, exception);
            }
        }
コード例 #4
0
        private async void btnUploadFile_Click(object sender, RoutedEventArgs e)
        {
            // 既にセッションを取得済みであることが前提
            var client = new LiveConnectClient(Session);

            // SkyDrive上のアルバム一覧を取得
            var result1 = await client.GetAsync("me/skydrive/files?filter=albums");
            var folders = (List<dynamic>)result1.Result["data"];

            // PicturesフォルダーのIDをフォルダー取得する
            var picturesFolder = folders.Single(item => item.name == "Pictures");
            var folderID = picturesFolder.id;

            // SkyDriveにアップロードするファイルの名前を指定する
            var fileName = "test.png";

            // SkyDriveへ写真を非同期でバックグランドアップロードする
            var uri = new Uri("ms-appx:///Assets/SmallLogo.png");
            var file = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(uri);
            var result2 = await client.BackgroundUploadAsync(folderID, fileName, file, OverwriteOption.Overwrite);
            
            // 成功すればアップロードしたファイルの情報が取得できる
            var source = (string)result2.Result.source;

            System.Diagnostics.Debug.WriteLine("source:{0}", source);
        }
コード例 #5
0
        void task_Completed(object sender, PhotoResult e)
        {
            if (e.ChosenPhoto == null)
            {
                return;
            }

            string uploadLocation = "/shared/transfers/Image" + DateTime.Now.Millisecond + ".jpg";
            BackgroundWorker worker = new BackgroundWorker();
            worker.DoWork += (o, args) =>
            {
                using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    using (IsolatedStorageFileStream stream = store.CreateFile(uploadLocation))
                    {
                        byte[] buffer = new byte[1 << 10];
                        int bytesRead;
                        while ((bytesRead = e.ChosenPhoto.Read(buffer, 0, buffer.Length)) > 0)
                        {
                            stream.Write(buffer, 0, bytesRead);
                        }
                    }
                }
            };

            worker.RunWorkerCompleted += (o, args) =>
            {
                LiveConnectClient uploadClient = new LiveConnectClient(App.Session);
                uploadClient.BackgroundUploadCompleted +=
                    new EventHandler<LiveOperationCompletedEventArgs>(uploadClient_BackgroundUploadCompleted);

                string userState = "myUserState";  // arbitrary string to identify the request.
                uploadClient.BackgroundUploadAsync(SelectedAlbum.ID, new Uri(uploadLocation, UriKind.RelativeOrAbsolute), OverwriteOption.Overwrite, userState);
            };

            worker.RunWorkerAsync();
        }