【问题标题】:Vimeo API: upload video files using resumable approachVimeo API:使用可恢复方式上传视频文件
【发布时间】:2018-09-05 07:22:58
【问题描述】:

我正在关注有关可恢复上传的 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)
      }
    });
  }
});

【问题讨论】:

    标签: file-upload vimeo-api tus


    【解决方案1】:

    我能够在我的 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]);
    

    【讨论】:

      【解决方案2】:

      我现在一直在使用它。我认为当时调用 Patch 时不确定您的文件二进制数据是否已转换,

      所以要确保你必须把这个电话打到reader.onload。所以它肯定是二进制数据。

      readAsBinaryString 已弃用。所以你可以使用readAsArrayBufferWhy is readAsBinaryString() deprecated

      【讨论】:

        猜你喜欢
        • 2020-06-05
        • 2016-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-19
        • 2020-02-27
        • 1970-01-01
        相关资源
        最近更新 更多