Я написал код для загрузки видео, загруженного в amazon s3, используя aws javascript sdk. Все работает отлично, но некоторые видеоролики открываются в браузере и начинают играть. Вот код ниже:Как заставить скачать видео в AngularJs от Amazon S3?
Вид:
<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:
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. Каково рекомендуемое решение проблемы и как другие справляются с такими проблемами?
Я сделал google, но большинство ответов stackoverflow здесь говорят, чтобы открывать файлы в окне, и браузеры автоматически загружают его.
Я пробовал это раньше. Не работает – VishwaKumar
Я написал, что работал для меня. Пожалуйста, см. Мой ответ – VishwaKumar
Я также пробовал это. в этом сценарии работает нормально. –