Javascript 下载动态创建的zip存档的角度解决方案
使用AngularJS下载动态创建的zip文件的最佳方式是什么?我可以使用window.open点击URL,但这看起来很不棱角分明,我可以使用iframe,但我不知道如何在rest服务中获得对它的引用 允许下载动态创建的文件的良好角度实现是什么Javascript 下载动态创建的zip存档的角度解决方案,javascript,angularjs,Javascript,Angularjs,使用AngularJS下载动态创建的zip文件的最佳方式是什么?我可以使用window.open点击URL,但这看起来很不棱角分明,我可以使用iframe,但我不知道如何在rest服务中获得对它的引用 允许下载动态创建的文件的良好角度实现是什么 // Current solution RestService.createInstance( data ) .then(function( id) { //return RestService.generateArchive(
// Current solution
RestService.createInstance( data )
.then(function( id) {
//return RestService.generateArchive( id );
var url = location.href;
if( url.indexOf('#') != -1 ) { url = url.substring(0, url.indexOf('#')); }
url += '?ID=' + id;
window.open( url );
})
.then(function( success ) {
// Obviously won't work due to security
});
另外,您将如何检查回复是否被拒绝?看起来你不能,但以防万一。小样本:
Html:
<iframe ng-src="{{url}}" style="display:none"/>
这应该适用于以下几点:
- 当然,别忘了注入$sce
- 如果您从同一url多次下载,请将下载之间的url重置为类似google.com的内容
$scope.url = 'google.com';
RestService.createInstance( data )
.then(function( id) {
//return RestService.generateArchive( id );
var url = location.href;
if( url.indexOf('#') != -1 ) { url = url.substring(0, url.indexOf('#')); }
url += '?ID=' + id;
$scope.url = $sce.trustAsResourceUrl(url);
})