我正在尝试使用Vimeo文档系统将视频上传到我在Vimeo的专业帐户:https://developer.vimeo.com/api/upload/videos#upload-your-video
尝试一下,我做了一个简单的C#控制台应用程序: 我可以获得upload_ticket。
当我使用WebClient.UploadData“播放”视频时,会发送文件。
try
{
WebClient wc = new WebClient();
wc.Headers.Clear();
wc.Headers.Add("Authorization", "bearer xxxxxxxxxxx");
wc.Headers.Add("type", "streaming");
var vimeoTicket = JsonConvert.DeserializeObject<JObject>(wc.UploadString("https://api.vimeo.com/me/videos", "POST", ""));
var file = File.ReadAllBytes(@"d:\3.mp4");
wc.Headers.Clear();
var result= wc.UploadData(new Uri(vimeoTicket["upload_link_secure"].ToString()), "PUT", file);
WebClient wc1 = new WebClient();
wc1.Headers.Clear();
wc1.Headers.Add("Content-Range", "bytes */*");
//This line will get me an execption {"The remote server returned an error: (308) Resume Incomplete."}
var ff1 = wc1.UploadData(vimeoTicket["upload_link_secure"].ToString(), "PUT", new byte[0]);
}
catch (Exception h)
{
throw;
}
在API文档中它说“如果此文件存在,这将返回带有HTTP 308状态代码的响应和带有服务器上字节数的Range标头。”
那么为什么我没有得到一个例外,而且我没有得到任何回应,就像在文档中一样?
谢谢
答案 0 :(得分:0)
由于某种原因,WebClient处理响应308作为错误,现在我已经设法将我需要的代码放入异常块 - 直到我找到一种方法来说服WebClinet 308不是敌人......