我正在使用 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
);
}
});
处理此问题的最佳方法是什么,以便用户可以继续上传?
答案 0 :(得分:0)
这样做可以解决两个问题: