我正在遵循有关可恢复上传(https://developer.vimeo.com/api/upload/videos#resumable-tus-upload)的Vimeo api指南。
在第一个请求之后,我得到了响应,但是第二个请求得到了import requests
url = 'https://www.whatever.com'
response = requests.get(url)
scheme = response.url.split(':')[0]
响应(步骤2。上传视频文件)。
该指南告诉PATCH将视频文件的二进制数据修补到来自upload.upload_link的URL。我正在使用undefined
将视频文件转换为二进制数据(我也尝试过readAsBinaryString()
,但结果相同。我可能做错了什么?
这是代码:
readAsArrayBuffer()
答案 0 :(得分:0)
我能够在我的ReactJs应用程序中使用它。好像您缺少reader.onload()方法-https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onload
我将reader.readAsArrayBuffer的结果保存到state.binaryData。然后,我将binaryData作为数据传递到我的axios / fetch请求中。它正在运行,我成功上传了视频。
const reader = new FileReader();
const fileSize = e.target.files[0].size;
reader.onload = r => {
this.setState({ binaryData: r.target.result, fileSize });
};
reader.readAsArrayBuffer(e.target.files[0]);
答案 1 :(得分:0)
我现在一直在同一个工作。我认为当时调用Patch并不确定文件的二进制数据是否已转换,
因此请确保您必须将该呼叫放入reader.onload
中。因此可以肯定二进制数据。
readAsBinaryString
已过时。因此您可以使用readAsArrayBuffer
。
Why is readAsBinaryString() deprecated