Я ищу лучший способ принудительно загрузить сгенерированное видео (~ 50 МБ) со стороны клиента с javascript и без доступа к серверу. Я знаю этот аналогичный вопрос (какое решение в моем случае не работает из-за политики cors). Итак, мой вопрос относится к aws s3. Есть ли простой способ (возможно, используя sdk aws с веб-браузерами ) для принудительной загрузки?
Или было бы проще использовать объект-буфер из видеоплеера Plyr (да, есть также проигрыватель, который воспроизводит это видео), чтобы сделать из него загружаемый mp4?
соответственно такое решение?
var req = new XMLHttpRequest();
var videourl = "https://shotstack-api-stage-output.s3-ap-southeast-2.amazonaws.com/t63shcspnh/c7a6163b-686a-4cf0-837f-94a922a10a6c.mp4"
req.open('GET', videourl, true);
req.responseType = 'blob';
req.onload = function() {
// Onload is triggered even on 404
// so we need to check the status code
if (this.status === 200) {
var videoBlob = this.response;
var vid = URL.createObjectURL(videoBlob); // IE10+
// Video is now downloaded
// and now save it
const a = document.createElement('a');
a.href = vid;
a.download = filename;
document.body.appendChild(a);
a.click();
}
}
req.onerror = function() {
// Error
}
req.send();