html5下A标签,自定义利用download属性下载文件的编码方式

利用a标签的download属性,生成一个文本下载文件,当字符串中有中文时候,通常就会出现保存的txt文件编码默认为utf-8,以下代码可以解决文本文件编码为utf-8或ansi格式自定选择。

	function base64(vStr){
		//base64编码代码略,自行去寻找插件。这里模拟直接返回编码后的值。
		return '5Yip55SoQeagh+etvueahGRvd25sb2Fk5YGaQU5TSeaWh+acrOS/neWtmOa1i+ivle+8gQ==';
	}
	//预保存的文本内容
    var tStr ="利用A标签的download做ANSI文本保存测试!"
	saveTxt = function(vFilename,vText,vCharset) {
		//文件名判断处理
		if(!vFilename){return 'vFilename is null';}
		try{	//养成好习惯,加入错误处理
			//创建A标签
			var aLink = document.createElement('a');
			if(vCharset.toUpperCase()=='ANSI'){
				//利用base64编码解决URL编码默认是UTF-8模式。
				aLink.href = 'data:text/plain;base64,' + base64(vText);
			}else{
				//encodeURIComponent默认是将字符转换成utf-8格式的url编码
				aLink.href = 'data:text/plain;charset=utf-8,' + encodeURIComponent(vText);
			}
			//A标签download属性赋值
			aLink.download = vFilename;
			//模拟点击A标签
			aLink.click();
			return true;
		}catch(err){
			console.log(err)
			console.log(err.message);
			return false;
		}
	}
	saveTxt('saveUtf8.txt',tStr,'utf-8');	//utf-8编码保存文本
	saveTxt('saveAnsi.txt',tStr,'ansi');	//ansi编码保存文本

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值