记录一下前端下载txt文件的笔记

前端 window.open()大家应该都不陌生,用于打开一个新的浏览器窗口或查找一个已命名的窗口。也可以下载具体路径的文件,但当文件是txt格式的时候会变成打开txt文件而不是下载文件,通过在网上的学习和自己的理解,整理出来如下方法可以下载txt。


function downloadFile2(url, fileName) {
    var xmlHttp = null;

    // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
    xmlHttp = new XMLHttpRequest();
    xmlHttp.overrideMimeType("text/html;charset=UTF-8"); //设定文件以gb2312编码识别数据 

    // 2.如果实例化成功,就调用open()方法:
    if (xmlHttp !== null) {
        xmlHttp.open('get', url, true);
        xmlHttp.send();
        xmlHttp.onreadystatechange = doResult; //设置回调函数
    }

    function doResult() {
        if (xmlHttp.readyState == 4) { //4表示执行完成
            if (xmlHttp.status == 200) { //200表示执行成功
                // 创建隐藏的可下载链接
                var aLink = document.createElement('a');
                aLink.download = fileName; //设置a标签的下载名字
                aLink.style.display = 'none';
                // 字符内容转变成blob地址
                var blob = new Blob([xmlHttp.responseText]);
                aLink.href = URL.createObjectURL(blob);
                // 触发点击
                document.body.appendChild(aLink);
                aLink.click();
                // 然后移除
                document.body.removeChild(aLink);
            } else if (xmlHttp.status == 404) {
                message.info("未找到对应文件!")//自己封装的提示方法
            } else {
                message.error("下载出错!")//自己封装的提示方法
            }
        }
    }
}

以上方法实现点击后实现下载txt文件并以中文格式而不是打开文件,且在具体目录下找不到对应文件的时候最好给予提示说明。

借鉴如下: 链接.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值