如何在javascript中强制下载aws生成的文件(公共文件)
我正在寻找一种最好的方法,使用javascript从客户端强制下载生成的视频(~50mb),而不访问服务器。 我知道(在我的案例中,由于cors政策,哪个解决方案不起作用)。 所以我的问题涉及aws s3。是否有一种简单的方法(可能使用)强制下载 或者使用Plyr视频播放器中的缓冲区对象(是的,还有一个播放此视频的播放器)制作可下载的mp4会更简单吗 这样的解决方案如何在javascript中强制下载aws生成的文件(公共文件),javascript,amazon-web-services,amazon-s3,blob,force-download,Javascript,Amazon Web Services,Amazon S3,Blob,Force Download,我正在寻找一种最好的方法,使用javascript从客户端强制下载生成的视频(~50mb),而不访问服务器。 我知道(在我的案例中,由于cors政策,哪个解决方案不起作用)。 所以我的问题涉及aws s3。是否有一种简单的方法(可能使用)强制下载 或者使用Plyr视频播放器中的缓冲区对象(是的,还有一个播放此视频的播放器)制作可下载的mp4会更简单吗 这样的解决方案 var req = new XMLHttpRequest(); var videourl = "https://shotstack
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();
您展示的代码实质上单击了具有下载属性的锚定链接,会发生什么情况?您展示的代码实质上单击了具有下载属性的锚定链接,会发生什么情况?