Chrome
通过a标签下载
使用js或者jq 都可以,这里演示一下jq的用法:
第一种
//fileType 是需要下载的文件类型 如txt格式传入text/plain,doc格式传入application/msword 等
//fileText 是文件内容
//fileName 是下载文件的名字
function downloadFile(fileType, fileText, fileName) {
var downloadA = $('<a style="display:none"></a>').appendTo('body'); //创建标签
downloadA.attr({ 'href': "data:" + fileType + ";charset=utf-8," + fileText, "download": fileName });
downloadA[0].click(); //手动触发点击事件
downloadA.remove(); //删除标签
}
downloadFile('text/plain', '文本内容。。。', '文件'); //调用
如果是下载base64流的图片:
var filePic = ''; //base64数据流
var fileName = '图片'; //要下载的图片名称
var downloadA = $('<a style="display:none"></a>').appendTo('body');
downloadA.attr({ 'href': "data:image/png;base64," + filePic, "download": fileName });
downloadA[0].click();
downloadA.remove();
第二种
//fileType 是需要下载的文件类型 如txt格式传入text/plain,doc格式传入application/msword 等
//fileText 是文件内容
//fileName 是下载文件的名字
function downloadFile(fileType, fileText, fileName) {
var downloadA = $('<a style="display:none"></a>').appendTo('body');
var data = new Blob([fileText],{type: fileType+";charset=UTF-8"});
var downloadUrl = window.URL.createObjectURL(data);
downloadA.attr({ 'href': downloadUrl, "download": fileName });
downloadA[0].click();
downloadA.remove();
}
// downloadFile('text/plain', '文本内容。。。', '文件'); //调用
IE
if(window.navigator.msSaveBlob){
let blob = new Blob(['数据'], {type: "text/csv,charset=utf-8"});
window.navigator.msSaveBlob(blob, '文件.txt');
}