我有一个angularjs控制器,它从其余端点检索URL。响应包含S3上文本文件的URL,并使用该文件的内容填充隐藏iframe的src属性。
模板
<div>
<button ng-click="myCtrl.getUrl()" class="btn btn-default"></button>
<iframe ng-hide="true" ng-src="{{myCtrl.s3Link}}"></iframe>
</div>
控制者
angular
.module('app')
.component('myComponent', {
templateUrl: 'template.html',
controller: MyController,
controllerAs: 'myCtrl'
});
function MyController($http, $sce) {
var vm = this;
var savedState = browserBackService.retrieveState('resultsPage');
vm.getUrl = getUrl;
vm.s3Link = '';
function getUrl() {
vm.extractDownloadLink = '';
$http.get('/api/getS3url').then(extractSuccessCallback);
}
function extractSuccessCallback(response) {
vm.extractDownloadLink = $sce.trustAsResourceUrl(response.data.url);
}
}
休息反应
{
"url":"https://myaws.aws.net/s3_bucket/1/2/myFile.txt"
}
该文件存在,并且路径正确。在Chrome和Firefox中,这会触发“另存为”对话框,这是正确的行为,但是在Internet Explorer 10和Edge上则什么也没有发生。
要使此操作在IE中成功完成,需要进行哪些更改?
考虑使用处理许多浏览器的库,例如 angular-file-saver
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句