如何强制下载视频在亚马逊S3 AngularJs? [英] How do i force download Video in AngularJs from Amazon S3?

查看:176
本文介绍了如何强制下载视频在亚马逊S3 AngularJs?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经写了code下载上传到亚马逊S3的视频使用AWS的JavaScript SDK。一切工作正常,但一些影片在浏览器中打开,并开始播放。这里是低于code:

I have written code to download a video uploaded to amazon s3 using aws javascript sdk. Everything works fine but for some videos open up in the browser and start playing. Here is the code below:

查看:

<a href="#" ng-click="downloadVideo(video)">Download Video</a>

控制器:

$scope.downloadVideo = function (video) {
            videoLocation = video.video_location;
            var bucketPath = videoLocation.substring(0, videoLocation.lastIndexOf("/") + 1);
            bucketPath = bucketPath.substring(0, bucketPath.length - 1);
            var fileName = videoLocation.substring(videoLocation.lastIndexOf("/") + 1, videoLocation.length);
            var videoSignedUrl = VideoFactory.downloadVideo(bucketPath,fileName);            
            $window.open(videoSignedUrl);
        }

VideoFactory:

VideoFactory :

downloadVideo: function (bucketPath,fileName) {
    bucketName = aws.bucket_name;

    options = {
        accessKeyId : 'XXXXXXXXXXXXXXXXXXXXX',
        secretAccessKey : 'XXXXXXXXXXXXXXXXXXXXXXXXXXX',
        region : 'XXXXXX'
    }

    var params = {
        Bucket: bucketName + '/'+ bucketPath, Key: fileName, Expires: 60
    };

    var s3 = new AWS.S3(options);
    var url = s3.getSignedUrl('getObject', params);
    return url;
}

所以,当视频在新窗口中打开,他们开始得到在浏览器底部下载。但不知影片他们在一个窗口中打开,并开始播放。我怎样才能在angularjs阻止这一切。什么是建议的解决方法,做别人如何处理这种问题?

So when videos open up in a new window they start getting downloaded at the bottom of the browsers. But for some unknown videos they open up in a window and start playing. How can i stop this in angularjs. What is the suggested workaround and how do others handle this kind of issues??

我做了谷歌,但这里的大部分计算器答案说给打开窗口的文件和浏览器自动下载它。

I did google but most of the stackoverflow answers here say to open files in window and browsers automatically downloads it.

推荐答案

尝试这种解决方案,它可以帮助你。进入链接的描述在这里

Try this solution it may help you.enter link description here

查看:

<a href="#" ng-click="downloadVideo(video)">Download Video</a>
<a id="ExportToExcel" style="display: none;"></a>

控制器:

$scope.downloadVideo = function (video) {
   videoLocation = video.video_location;
   var bucketPath = videoLocation.substring(0, videoLocation.lastIndexOf("/") + 1);
   bucketPath = bucketPath.substring(0, bucketPath.length - 1);
   var fileName = videoLocation.substring(videoLocation.lastIndexOf("/") + 1, videoLocation.length);
   var videoSignedUrl = VideoFactory.downloadVideo(bucketPath,fileName);            
   document.getElementById("ExportToExcel").href = videoSignedUrl;       
   document.getElementById("ExportToExcel").click();
}

这篇关于如何强制下载视频在亚马逊S3 AngularJs?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆