JS创建文件下载

var hrefvalue = "data:application/vnd.ms-excel;base64," + wbout;
anchor.download = filename + '.txt';	//格式随意
anchor.href = hrefvalue;

服务器端

HTML5的新特性中给a标签增加了一个download属性,在download属性中填入文件名,href填入本来要跳转的地址(跳页面下载页面,跳文件下载文件,比如之前你都是一点pdf直接打开了,现在就可以一点就下载了),即可下载对应的文件使得点击这个链接时浏览器就不在打开链接指向的文件,而是改为下载(目前只有chrome、firefox和opera支持)。

<a href="www.xxx.com/document/a.txt" download="newname.txt">

客户端

方法一,DataURI,比较常见的就是图片的src,如:
<img src=”data:image/gif;base64,R0lGOXXXXX">

DataURI讲解:

首先URL不只是常见的那种,也有用于传输数据的,
上面那个例子包含以下部分:
data - 取得数据的协定名称
image/png - 数据类型名称
base64 - 数据的编码方法
R0lGOXXXXX… - 编码后的数据
: , ; - data URI scheme 指定的分隔符号
意思就是,传输一个用base64编码方式的img文件

什么是base64

简单地说它把一些 8-bit 数据翻译成标准 ASCII 字符,js和php都可以进行base64处理
引文:http://www.alloyteam.com/2014/01/use-js-file-download/

function downloadFile(fileName, content){
    var aLink = document.createElement('a');
    var blob = new Blob([content]);
    var evt = document.createEvent("HTMLEvents");
    evt.initEvent("click", false, false);//initEvent 不加后两个参数在FF下会报错, 感谢 Barret Lee 的反馈
    aLink.download = fileName;
    aLink.href = URL.createObjectURL(blob);
    aLink.dispatchEvent(evt);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值