[英]Angularjs/Restangular, how to name file blob for download?
由于某种原因,这在IE中比Chrome / FF更容易:
$scope.download = function() {
Restangular.one(myAPI)
.withHttpConfig({responseType: 'blob'}).customGET().then(function(response) {
//IE10 opens save/open dialog with filename.zip
window.navigator.msSaveOrOpenBlob(response, 'filename.zip');
//Chrome/FF downloads a file with random name
var url = (window.URL || window.webkitURL).createObjectURL(response);
window.location.href = url;
});
};
有没有办法做类似于IE10 +的工作方式? 也就是说,我可以指定一个文件名/类型(只会是zip)?
只要有了对象url,就可以创建一个锚点并将download属性设置为你想要的文件名,将href设置为对象url,然后只需调用click
var myBlob = new Blob(["example"],{type:'text/html'}) var blobURL = (window.URL || window.webkitURL).createObjectURL(myBlob); var anchor = document.createElement("a"); anchor.download = "myfile.txt"; anchor.href = blobURL; anchor.click();
只需使用https://www.npmjs.com/package/angular-file-saver浏览器支持表可以在这里看到: https : //github.com/eligrey/FileSaver.js/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.