重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容主要讲解“javascript如何实现下载功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript如何实现下载功能”吧!
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站建设、拉萨网络推广、重庆小程序开发公司、拉萨网络营销、拉萨企业策划、拉萨品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供拉萨建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
javascript实现下载功能的方法:1、通过a标签实现下载;2、通过“window.open”方法实现下载;3、通过“location.href”方法实现下载;4、通过文件流转blob对象实现下载功能。
js实现文件下载功能
一、a标签下载
优点:
可以直接下载txt、png、pdf、exe、xlsx等类型文件
缺点:
a标签只能做get请求,所以url有长度限制
无法获取下载进度
跨域限制
无法在header中携带token做鉴权操作
无法判断接口是否成功
IE兼容问题
二、window.open下载
优点:
简单方便
缺点:
会出现URL长度限制问题
需要注意url编码问题
无法获取下载进度
无法在header中携带token做鉴权操作
无法判断接口是否成功
无法直接下载浏览器可直接预览的文件类型(txt、png、pdf会直接预览)
三、location.href 下载
优点
简单方便直接
可以下载大文件(G以上)
缺点
会出现URL长度限制问题
需要注意url编码问题
无法获取下载进度
无法在header中携带token做鉴权操作
无法直接下载浏览器可直接预览的文件类型(txt、png、pdf会直接预览)
无法判断接口是否返回成功
三、文件流转blob对象下载
优点:
可以下载txt、png、pdf等类型文件
可以在header中携带token做鉴权操作
可以获取文件下载进度
可以判断接口是否返回成功
缺点:
兼容性问题,IE10以下不可用,注意Safari浏览器,官网给出 Safari has a serious issue with blobs that are of the type application/octet-stream
将后端返回的文件流全部获取后才会下载
到此,相信大家对“javascript如何实现下载功能”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!