file-upload - Vimeo API:使用可恢复方式上传视频文件
问题描述
我正在关注有关可恢复上传的 Vimeo api 指南 ( https://developer.vimeo.com/api/upload/videos#resumable-tus-upload )。我在第一个请求后收到了响应,但我收到undefined
了第二个请求的响应(第 2 步。上传视频文件)。该指南告诉从upload.upload_link 将视频文件的二进制数据PATCH 到URL。我readAsBinaryString()
用来将视频文件转换为二进制数据(我也尝试过readAsArrayBuffer()
但结果相同。我可能做错了什么?这是代码:
var reader = new FileReader();
$.ajax({
'url': 'https://api.vimeo.com/me/videos',
'type': 'POST',
'headers': {
'Accept': 'application/vnd.vimeo.*+json;version=3.4',
'Content-Type': 'application/json',
'Authorization': 'bearer ' + accessToken
},
"data": JSON.stringify({
"upload" : {
"approach" : "tus",
"size" : fileSize
}
}),
'success': function (result) {
$.ajax({
'url': result.upload.upload_link,
'type': 'PATCH',
'headers': {
'Tus-Resumable': '1.0.0',
'Upload-Offset': 0,
'Content-Type': 'application/offset+octet-stream'
},
'data': reader.readAsBinaryString(fileContent),
'success': function (result) {
console.log(result)
}
});
}
});
解决方案
我现在一直在和它一起工作。我认为当时调用 Patch 时不确定您的文件二进制数据是否已转换,
所以要确保你必须把这个电话放到reader.onload
. 所以它肯定是二进制数据。
readAsBinaryString
已弃用。所以你可以使用readAsArrayBuffer
.
为什么不推荐使用 readAsBinaryString()
推荐阅读
- linux - 如何根据用户输入更新case语句中的变量
- google-maps - 从共享网址嵌入谷歌地图
- sqlite - SQ LITE 为嵌入式系统缩小尺寸
- python - ValueError:在 zeppelin 中使用 pyspark 绘制折线图时使用序列设置数组元素
- mongodb - PySpark 和 MongoDB 连接器:无法使用管道内的日期进行查询
- java - Java - 为什么在构造函数之后调用实例块或在构造函数中按顺序调用实例块?
- excel - 我正在尝试复制和重命名工作表,但出现下标超出范围错误
- regex - 无法使用正则表达式提取单词:没有方法 to_string for Match
- c - 为什么网络程序在 IP 地址结构中存储 IP 地址
- python - ModuleNotFoundError 因为 PySpark 序列化程序无法找到库文件夹