【发布时间】:2018-08-04 22:03:05
【问题描述】:
我正在尝试上传视频,但从服务器获得的结果为空(0 字节)。
对于第 1 步,我这样调用 api:
var json = vc.UploadCreate("/me/videos", "tus", 3021075, "POST");
“tus”是方法,“3021075”是文件大小。我正在保存 upload_link 和 uri,然后像这样发出第二个请求:
string filepath = @"C:\videoplayback.mp4";
var rslt = vc.UploadPatch2(uploadlink, filepath);
我的 UploadPatch2() 方法:
WebClient wc = new WebClient();
wc.Headers.Add("Tus-Resumable", "1.0.0");
wc.Headers.Add("Upload-Offset", "0");
wc.Headers.Add("Content-Type", "application/offset+octet-stream");
wc.Headers.Add("Authorization", "Bearer ******");
var file = File.ReadAllBytes(filepath);
var result = wc.UploadData(upload_link, "PATCH", file);
当尝试按照 API 中的说明发送“PATCH”请求时,它会失败并出现以下错误:
远程服务器返回错误:(404) Not Found.
当使用“PUT”执行此操作时,没有例外,但“结果”从服务器返回 0 字节。
【问题讨论】:
-
阅读“使用可恢复方法”下的第 2 步,内容类型应该是我使用的那种。无论如何,我尝试了你的答案,它给出了相同的 404 错误
-
抱歉,我看错了,是的,您使用的是正确的内容类型。此外,您是否在创建视频请求时收到
HTTP 201 status code? -
您必须在创建视频 API 的响应中使用
upload.upload_link才能上传您的文件。 -
是的,我得到 201 状态码,我正在使用 upload.upload_link。它不工作