我正在尝试将视频上传到YouTube API ...如果我的视频文件是< 4 MB ..
以下是我的代码..我认为问题与请求长度有关?!
更新:我得到的错误是“在写入所有字节之前无法关闭流。”
上传代码
YouTubeRequestSettings settings = new YouTubeRequestSettings("App NAME", "DeveloperKEY", "UserName", "Password");
YouTubeRequest request = new YouTubeRequest(settings);
request.Settings.Timeout = 9999999;
Video newVideo = new Video();
newVideo.Title = "Movie size 3 MB";
newVideo.Tags.Add(new MediaCategory("Autos", YouTubeNameTable.CategorySchema));
newVideo.Keywords = "cars, funny";
newVideo.Description = "My description";
newVideo.YouTubeEntry.Private = false;
newVideo.Tags.Add(new MediaCategory("mydevtag, anotherdevtag", YouTubeNameTable.DeveloperTagSchema));
string videoPath = "c:\\1.flv";
newVideo.YouTubeEntry.MediaSource = new MediaFileSource(videoPath, GetContentType(videoPath));
Video createdVideo = request.Upload(newVideo);
litMessage.Text = "Video " + newVideo.Title + " uploaded.";
的Web.config
<httpRuntime
executionTimeout="240"
maxRequestLength="40960"
requestLengthDiskThreshold="80"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="5000"
enableKernelOutputCache="true"
enableVersionHeader="true"
requireRootedSaveAsPath="true"
enable="true"
shutdownTimeout="90"
delayNotificationTimeout="5"
waitChangeNotification="0"
maxWaitChangeNotification="0"
enableHeaderChecking="true"
sendCacheControlHeader="true"
apartmentThreading="false" />
答案 0 :(得分:0)
我认为这不是请求长度。您收到上传文件时使用的AFAIK。在我看来某处有一个超时。提高代码和Web.Config的HTTPRuntime部分中的超时值,看看是否有效。
答案 1 :(得分:0)
这一行
maxRequestLength="4096"
你的web.config中的告诉你的应用只允许4mb上传,只需将其提升到你想要/需要的任何限制。
虽然我觉得这可能是一个简单的解决方案,特别是在处理发布到第三方网站时。
答案 2 :(得分:0)
试试这个:
settings.Timeout = 10000000;
settings.Maximum = 2000000000;
当超过上传时间或超出内容长度(发送的字节数)时,Web请求将失败。