2013-04-02 77 views
1

将视频上传到YouTube上超过4 MB大小时会产生以下错误。使用.net库通过youtube api在YouTube上传视频大小错误请求被中止:请求被取消

The request was aborted: The request was canceled.| at 
System.Net.ConnectStream.CloseInternal(Boolean internalCall, Boolean 
aborting) at 
System.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() at 
Google.GData.Client.GDataGAuthRequest.Execute(Int32 retryCounter) at 
Google.GData.Client.GDataGAuthRequest.Execute() at 
Google.GData.Client.MediaService.EntrySend(Uri feedUri, AtomBase 
baseEntry, GDataRequestType type, AsyncSendData data) at 
Google.GData.Client.Service.Insert(Uri feedUri, AtomEntry newEntry, 
AsyncSendData data) at Google.GData.Client.Service.Insert[TEntry](Uri 
feedUri, TEntry entry) at 
Google.GData.YouTube.YouTubeService.Upload(String userName, 
YouTubeEntry entry) at Google.YouTube.YouTubeRequest.Upload(String 
userName, Video v) at Google.YouTube.YouTubeRequest.Upload(Video v) at 
upload.Button1_Click(Object sender, EventArgs e) 

已经尝试了一些解决方案,如

request.Settings.Timeout = 60 * 60 * 1000; 

<httpRuntime executionTimeout="6000" maxRequestLength="100000" /> 

但同样的问题发生。请帮我 代码是Follws: -

YouTubeRequest request = new YouTubeRequest(settings); 
     //request.Settings.Maximum = 9999999; 
     request.Settings.Timeout = 60 * 60 * 1000;   
     Video newVideo = new Video(); 

     newVideo.Title = TextBox1.Text; 
     newVideo.Tags.Add(new MediaCategory("People", YouTubeNameTable.CategorySchema)); 
     newVideo.Keywords = "cars, funny"; 
     newVideo.Description = TextBox2.Text; 
     newVideo.YouTubeEntry.Private = false; 
     newVideo.YouTubeEntry.AccessControls.Add(new YtAccessControl("list", "denied")); 
     newVideo.Tags.Add(new MediaCategory("mydevtag, anotherdevtag", YouTubeNameTable.DeveloperTagSchema)); 



     newVideo.YouTubeEntry.MediaSource = new MediaFileSource(f.ToString(), "video/x-flv"); 


     Video createdVideo = request.Upload(newVideo); 
+0

你可以显示你正在使用的代码触发错误,也可以用你正在使用的语言和/或环境标记问题吗? – KenD

回答

3

在代码中只需添加这3条线,并尝试,

YouTubeService service = new YouTubeService("Test", DEVELOPERKEY); 
     ((GDataRequestFactory)request.Service.RequestFactory).Timeout = 9999999; 
     ((GDataRequestFactory)service.RequestFactory).KeepAlive = false; 

将此标记为答案,如果你的问题就解决了。

+0

有同样的问题,这解决了它。使用youtube c#'API'真的很棘手。 –

+0

我在嘲笑你如何找到这样的解决方案......它的工作原理!怎么样?.. –

相关问题