我'm following the Vimeo api'关于可恢复上传的指南(https://developer.vimeo.com/api/upload/videos#resumable-tus-upload) . 我在第一次请求后收到响应,但我得到了第二个请求的 undefined
响应(步骤2.上传视频文件) . 指南告诉PATCH将视频文件的二进制数据发送到upload.upload_link中的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)
}
});
}
});
1 回答
我能够在我的ReactJs应用程序中使用它 . 看起来你错过了reader.onload()方法 - https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onload
我将reader.readAsArrayBuffer的结果保存到state.binaryData . 然后我将binaryData作为数据传递给我的axios / fetch请求 . 它正在工作,我成功上传了视频 .