前端文件下载,下载时无法保留原名或者下载跨域问题

520 阅读1分钟

A标签下载

image.png

可能出现的问题,a标签下载,文件名字会被重命名,如果不想被重命名,download设置文件名称,但是如果文件下载的地址,和当前服务器没在同一个域名之下,则download则无效

文件流形式,弥补a标签下载的缺陷

getBlob,通过文件下载地址,发送一个请求,请求结果为blob格式,然后调用download()方法,创建a标签去下载,通过download设置文件名,就不会有跨域的问题

image.png

image.png

通过iframe下载

这种情况适合,先预览后下载,iframe 提供下载打印等一系列操作

image.png 这种情况也会出现,文件下载名字被重命名,解决方案,使用新的下载按钮,参考方案一

文件下载过程中,出现跨域情况,把下载地址后面拼接一个时间戳,这个是文件缓存的问题