大部分文件下载都是在服务器放置好需要下载的资源,然后由服务器配置可以下载的文件类型,由系统去判断权限。如果文件比较小,不想通过系统去判断权限给出下载地址,如何在前端完成下载功能呢?
只需要将数据准备好,然后调用以下js函数即可:
function downloadFile(fileName, content){
var aLink = document.createElement('a');
var blob = new Blob([content]);
var evt = document.createEvent("HTMLEvents");
evt.initEvent("click", false, false);
aLink.download = fileName;
aLink.href = URL.createObjectURL(blob);
aLink.dispatchEvent(evt);
}
调用方式:downLoadFile('test.txt', "Hello world!");