0

這是我的代碼錯誤,通過谷歌API

上傳視頻的大小 7MB

上傳視頻類型 MP4

category.SelectedItem視頻上傳到YouTube服務器。文字:視頻/ mp4

如果(FileUpload1.PostedFile!= NULL)
{

 HttpPostedFile postfiles = FileUpload1.PostedFile; 
     if (postfiles.ContentLength > 0) 
     { 
      System.IO.Stream iStream = postfiles.InputStream; 
      byte[] filedata = new byte[postfiles.ContentLength]; 
      iStream.Read(filedata, 0, postfiles.ContentLength); 
      postfiles.SaveAs(@"c:\Temp\" + postfiles.FileName); 
      YouTubeRequestSettings settings = new YouTubeRequestSettings("AAA", youtube_DVkey, g_username, g_password); 
      YouTubeRequest request = new YouTubeRequest(settings); 
      Video newvideo = new Video(); 
      newvideo.Title = txtTitle.Text; 
      newvideo.Tags.Add(new MediaCategory(category.SelectedItem.Text, YouTubeNameTable.CategorySchema)); 
      newvideo.Keywords = txtKeywords.Text; 
      newvideo.Description = txtDescription.Text; 
      newvideo.Private = false; 
      newvideo.Tags.Add(new MediaCategory(txtTitle.Text.Trim(), YouTubeNameTable.DeveloperTagSchema)); 
      newvideo.YouTubeEntry.Location = new Google.GData.Extensions.Location.GeoRssWhere(37, -122); 
      newvideo.YouTubeEntry.MediaSource = new MediaFileSource(@"c:\Temp\" + postfiles.FileName, Video_type.SelectedItem.Text); 
      try 
      { 
       Video result_video = request.Upload(youtubeaccount, newvideo); 
       File.Delete(@"c:\Temp\" + postfiles.FileName); 
       Response.Redirect("gallery.aspx"); 

      } 
      catch (Google.GData.Client.GDataRequestException ex) 
      { 
       Response.Write(ex.ToString()); 
      } 
      catch (Google.GData.Client.InvalidCredentialsException ex) 
      { 
       Response.Write("Invalid credentials" + ex.ToString()); 
      } 
      catch(Exception ex) 
      { 
       Response.Write("Failed to upload!" + ex); 
      } 
     } 
    } 

異常

無法上傳System.Net.WebException:請求已中止:本 請求被取消。 ---> System.IO.IOException:無法關閉流 ,直到寫入所有字節。在 System.Net.ConnectStream.CloseInternal(布爾internalCall,布爾 放棄)內部異常堆棧跟蹤的---末尾在 System.Net.ConnectStream.CloseInternal(布爾internalCall,布爾 中止)在 系統。 Net.ConnectStream.System.Net.ICloseEx.CloseEx(CloseExState closeState)at System.Net.ConnectStream.Dispose(Boolean disposing)at System.IO.Stream.Close()at Google.GData.Client.GDataGAuthRequest.CopyRequestData ()在處 Google.GData.Client.MediaService.EntrySend(URI feedUri Google.GData.Client.GDataGAuthRequest.Execute() Google.GData.Client.GDataGAuthRequest.Execute(的Int32 retryCounter),AtomBase baseEntry,GDataRequestType type,AsyncSendData data)在Google.GData.Client.Service.Insert [TEntry](Uri feedUri,TEntry)上的Google.GData.Client.Service.Insert(Uri feedUri,AtomEntry newEntry, AsyncSendData data)條目)在 Google.GData.YouTube.YouTubeService.Upload(用戶名字符串, YouTubeEntry條目)在Google.YouTube.YouTubeRequest.Upload(字符串 用戶名,視頻v)以Youtube_upload.Page_Load(對象發件人, EventArgs的)在d:\ Kidzaina_Final \ video_upload.aspx.cs:line 67

回答