ipad safair6.0下载文件问题
ipad safair6.0下载文件问题

ipad safair6.0下载文件问题

1.safair到12版本为止都不支持a.download属性

2.如果用ajax方式res.blob(), filename会丢失,后缀名会根据Content-type会有不同表现。application/pdf,能正确设置后缀,如果Content-type:application/octet-stream不能正确设置后缀。

3.直接写a标签,如果有Content-Disposition属性并传了filename,会优先这个filename保存,但是Content-type:application/octet-stream ,同样还是打开不了。

4.safair处理不了Content-type:application/octet-stream的blob链接

file-saver.js

总结:

1.如果是非safair环境,会优先以a标签download属性进行处理,

如果是string,会直接设置a标签的download,再通过ajax获取blob,然后再进到saveAs函数里。

如果是blob对象,将a标签的url设置为blob url

3.如果是safair环境,不会使用a标签,而是会以popup window的href处理blob url和直接传进来的string,如果获取的blob对象是

P.S.

搭配ajax异步请求后,如果直接使用saveAs,safair会阻止打开新窗口,其实saveAs可以传第四个参数,在异步请求之前先打开一个新窗口再传入saveAs。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注