private void btnUpload_Click(object sender, RoutedEventArgs e) { //**Clean all this up later** var Uploader = new YouTubeFileUploader(); Uploader.AsyncOperationProgress += new EventHandler<AsyncOperationProgressEventArgs>(Upload_AsyncOperationProgress); Uploader.AsyncOperationCompleted += new EventHandler<AsyncOperationCompletedEventArgs>(Upload_AsyncOperationCompleted); var uploaderParams = new UploaderParameters(txtLogin.Text, passwordBox1.Password); //especially this string filename = String.Format("{0}\\{1}", txtDirectory.Text, textBox1.Text); string description = textBox4.Text; string title = textBox2.Text; var category = new MediaCategory( ((ContentControl)(comboBox1.SelectedItem)).Content.ToString(), YouTubeNameTable.CategorySchema); var isVideoPublic = checkBox1.IsChecked; var videoFile = new YouTubeFileInfo(filename, title, category, description, isVideoPublic); button1.IsEnabled = false; //Disable upload button during an upload listVideosView.IsEnabled = false; Uploader.UploadFiles(uploaderParams, videoFile); }
public void UploadFiles(UploaderParameters parameters, YouTubeFileInfo videoFile) { var request = parameters.ToYouTubeRequest(); var video = videoFile.ToVideo(); ((GDataRequestFactory)request.Service.RequestFactory).KeepAlive = true; ((GDataRequestFactory)request.Service.RequestFactory).Timeout = 9999999; request.Service.AsyncOperationProgress += Service_AsyncOperationProgress; request.Service.AsyncOperationCompleted += Service_AsyncOperationCompleted; request.Service.InsertAsync(new Uri("http://uploads.gdata.youtube.com/feeds/api/users/default/uploads"), video.AtomEntry, video); }