gpt4 book ai didi

vimeo - 使用 Tus 协议(protocol)恢复文件上传

转载 作者:行者123 更新时间:2023-12-05 06:31:40 31 4
gpt4 key购买 nike

我正在使用 Laravel 开发一个网站,我正在使用 tus-js-client 将文件直接上传到 Vimeo 而无需通过我的服务器。上传完美。

但是,假设上传达到了 44%,然后用户刷新了浏览器...据我所知,当用户再次开始上传同一文件时,它应该从 44% 继续上传...但是这并没有发生从头开始。

我认为这是因为当我向 Vimeo 发送 API 请求以获取 upload_link ( step 1 ) 时,它会给我一个新的 upload_link 每次用户刷新页面..

 // Upload process start 
var self = this;

// Send request to server to get (upload.upload_link) from Vimeo API (Step 1)
var uploadEndPoint = self.getUploadEndPoint();

// Start uploading ( Step 2 )
self.uploader = new tus.Upload(file, {
uploadUrl: uploadEndPoint,
retryDelays: [0, 1000, 3000, 5000],
metadata: {
filename: file.name,
filetype: file.type
},
resume: true,
uploadSize: file.size,
onError: function(error) {
console.log("Failed because: " + error);
},
onProgress: function(bytesUploaded, bytesTotal) {
var percentage = (bytesUploaded / bytesTotal * 100).toFixed(2);
console.log(bytesUploaded, bytesTotal, percentage + "%");
},
onSuccess: function() {
console.log(
"Download %s from %s",
self.uploader.file.name,
self.uploader.url
);
}
});

处理此问题的最佳方法是什么,以便用户可以恢复上传?

最佳答案

我做了什么:

  1. 设置 Laravel 后端端点以获取下载链接
  2. 对于第一个端点请求,从您的后端向 Vimeo 发出请求并在后端保存上传链接
  3. 对于进一步的请求,检查客户端是否要下载相同的文件(按名称和大小,或按哈希),如果是,则返回保存的上传链接,如果不是,则请求新的

这样做我解决了两个问题:

  • 记录上传链接,直到文件未完全上传
  • 在服务器上保持我的永久 Vimeo 访问 token 不受损害,仅在客户端发送上传链接

关于vimeo - 使用 Tus 协议(protocol)恢复文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51726862/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com