我正在尝试使用他们的可恢复上传协议将视频文件上传到 vimeo,但最终得到
Failed because: Error: tus: unexpected response while creating upload, originated from request (method: POST, url: https://1515143405.cloud.vimeo.com/upload?ticket_id=42606237…62378%26signature%3D19062b29129850403638ca88040debe1e21cc646, response code: 400, response text: Content length 0 too small
每当我启动上传时都会出现此错误。
const vimeoFileUpload = async(e) => {
const fileContent = e.target.files[0];
const fileSize = fileContent.size;
const reader = new FileReader();
reader.onload = r => {console.log(r.target.result)};
let uploadLink;
await fetch(`${backendUri}/fetchUploadLink`, {
method: 'POST',
body: JSON.stringify({fileSize}),
headers: {"Content-Type": "application/json"}
}).then((res) => res.json())
.then((result) => {
uploadLink=result.uploadLink
});
let uploader = new tus.Upload(fileContent, {
uploadUrl: uploadLink,
endpoint:uploadLink,
retryDelays: [0, 1000, 3000, 5000],
metadata: {
filename: "sample",
filetype: fileContent.type
},
uploadSize: fileSize,
onError: function(error) {
console.log("Failed because: " + error);
},
onProgress: function(bytesUploaded, bytesTotal) {
let percentage = (bytesUploaded / bytesTotal * 100).toFixed(2);
console.log(bytesUploaded, bytesTotal, percentage + "%");
},
onSuccess: function() {
console.log(
"Download %s from %s",
uploader.file.name,
uploader.url
);
}
});
uploader.start();
}
这是上传功能的代码。我还尝试在 tus 配置中将 Content-Length 设置为自定义标头,但它声称这是一个禁止的标头并且不允许我修改它
任何关于此事的想法或建议将不胜感激。