位置: IT常识 - 正文

前端几种下载文件的方式(url方式和文件流方式)(前端几种下载文件)

编辑:rootadmin
前端几种下载文件的方式(url方式和文件流方式)

推荐整理分享前端几种下载文件的方式(url方式和文件流方式)(前端几种下载文件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:前端下载软件,前端 下载,前端如何实现下载功能,前端实现下载文件,前端文件下载,前端文件下载,前端几种下载文件类型,前端几种下载文件类型,内容如对您有帮助,希望把文章链接给更多的朋友!

前端实现下载功能是依赖于浏览器特性,而非JS特性 前端如何实现文件下载,防止浏览器自动打开可预览文件 https://blog.csdn.net/weixin_46074961/article/details/105677732

1.location.href 下载文件–window-location-href

对于浏览器不能打开的文件(例如:.rar .doc等)是可以实现文件下载的,但是对于浏览器可以打开的(例如:.txt .xml等)只可以实现预览功能

window.location.href="https://106.14.15.103:8000/downloadFile/test"前端几种下载文件的方式(url方式和文件流方式)(前端几种下载文件)

2.window.open()

Window 接口的 open() 方法,是用指定的名称将指定的资源加载到浏览器上下文(窗口 window ,内嵌框架 iframe 或者标签 tab )。如果没有指定名称,则一个新的窗口会被打开并且指定的资源会被加载进这个窗口的浏览器上下文中。

//后台传来的下载路径url:https://106.14.15.103:8000/downloadFile/test//前端核心代码window.open(url);

很明显这个方法只能将指定路径的资源加载到浏览器里,如果该文件不能被浏览器预览,浏览器就会下载该文件,但是,如果浏览器可以预览该文件呢?是不是这个方法不可以实现?要求下载一个txt文本,用该方法浏览器会直接预览该txt文件。

3.a标签(可以直接下载)

a标签的href属性指定下载文件的路径,需要给a标签添加一个download属性,download指定下载文件保存时的名称。

<a href="https://106.14.15.103:8000/downloadFile/test" download="test.txt">下载</a>

上述三种都是通过加载文件url直接下载,如果后端返回文件流,则需要先转化为url再下载; 另外上述三种方式默认是get方式,如果需要使用post方式且需传参,最好使用第四种方式;

4.文件流下载

1.ajax请求将文件流下载下来2.将下载的文件流转化为blob数据3.通过 window.URL.createObjectURL(blob)将blob转化为url4.通过动态生成a标签 模拟点击事件下载this.$http({ url: this.$http.adornUrl(`/strUrl/${id}`), method: 'get', responseType: 'blob', timeout: 1000 * 600 }).then(res => { console.log('res', res) if (res.status === 200) { const blob = new Blob([res.data], { type: `application/octet-stream` }) const downloadElement = document.createElement('a') const href = window.URL.createObjectURL(blob) downloadElement.href = href downloadElement.download = `${filename}` downloadElement.click() } else { this.$message.error('下载出错!') } })

5.iframe

<el-button size="mini" @click="handleExport(scope.row)">导出</el-button>//method方法:handleExport(row) { var elemIF = document.createElement('iframe') elemIF.src = 'user/downloadExcel?snapshotTime=' + formatDate(new Date(row.snapshotTime), 'yyyy-MM-dd hh:mm') + '&category=' + row.category elemIF.style.display = 'none' document.body.appendChild(elemIF)}
本文链接地址:https://www.jiuchutong.com/zhishi/289022.html 转载请保留说明!

上一篇:东京的秋叶和金鱼,日本 (© qrsk/Moment/Getty Images)(日本东京秋叶原攻略)

下一篇:YOLOv8改进损失函数WDLoss:独家更新|即插即用|YOLOv8小目标检测高效涨点2%,改进用于小目标检测的归一化高斯 Wasserstein Distance Loss,提升小目标检测(yolov5损失)

  • 浅谈怎样做好团购网站的推广(如何做好一名团员100字)

    浅谈怎样做好团购网站的推广(如何做好一名团员100字)

  • 荣耀30s支持红外功能吗(荣耀30s支持红外线功能吗)

    荣耀30s支持红外功能吗(荣耀30s支持红外线功能吗)

  • 智慧团建的密码是多少(智慧团建的密码忘了,也联系不到管理员怎么办)

    智慧团建的密码是多少(智慧团建的密码忘了,也联系不到管理员怎么办)

  • oppo如何使用小爱同学(OPPO如何使用小布)

    oppo如何使用小爱同学(OPPO如何使用小布)

  • airpods摔了一下会坏吗(airpods摔了一下充电盒充不进电了)

    airpods摔了一下会坏吗(airpods摔了一下充电盒充不进电了)

  • 什么叫仅还原系统设置项(仅还原系统设置项会怎么样)

    什么叫仅还原系统设置项(仅还原系统设置项会怎么样)

  • 微信群名怎么设置可以不被改动(微信群名怎么设置不能改)

    微信群名怎么设置可以不被改动(微信群名怎么设置不能改)

  • 笔记本电脑需要无线网卡吗(笔记本电脑需要插电使用吗)

    笔记本电脑需要无线网卡吗(笔记本电脑需要插电使用吗)

  • 能打开pdf的软件有哪些(pdf能用什么软件打开)

    能打开pdf的软件有哪些(pdf能用什么软件打开)

  • 华为手机背面的标签可以撕吗(华为手机背面的玻璃外壳碎了)

    华为手机背面的标签可以撕吗(华为手机背面的玻璃外壳碎了)

  • qq看点图片加载不出来怎么办(qq看点图片显示不全)

    qq看点图片加载不出来怎么办(qq看点图片显示不全)

  • 屏蔽双绞线和非屏蔽双绞线的主要差异是什么(屏蔽双绞线和非屏蔽双绞线的特点)

    屏蔽双绞线和非屏蔽双绞线的主要差异是什么(屏蔽双绞线和非屏蔽双绞线的特点)

  • 华为荣耀怎么截屏(华为荣耀怎么截屏的4种方法)

    华为荣耀怎么截屏(华为荣耀怎么截屏的4种方法)

  • 手机激活时间和购买时间不一致(手机激活时间和保修日期有什么关系)

    手机激活时间和购买时间不一致(手机激活时间和保修日期有什么关系)

  • 密码正确无法加入网络(密码正确无法加入网络是为什么)

    密码正确无法加入网络(密码正确无法加入网络是为什么)

  • 为什么小爱同学怎么叫也不应(为什么小爱同学没有声音了)

    为什么小爱同学怎么叫也不应(为什么小爱同学没有声音了)

  • 华为5x能用电信卡吗(华为5x能用电信吗)

    华为5x能用电信卡吗(华为5x能用电信吗)

  • 抖音标签怎么写(抖音标签怎么写,才能涨粉)

    抖音标签怎么写(抖音标签怎么写,才能涨粉)

  • 乐视手机怎么卸载软件(乐视手机怎么卸载乐视搜狗输入法软件)

    乐视手机怎么卸载软件(乐视手机怎么卸载乐视搜狗输入法软件)

  • 华为手机备忘录怎么改底色(华为手机备忘录怎么导入oppo手机)

    华为手机备忘录怎么改底色(华为手机备忘录怎么导入oppo手机)

  • 淘宝店铺没了能退款吗(淘宝店铺没了能恢复吗)

    淘宝店铺没了能退款吗(淘宝店铺没了能恢复吗)

  • 通过抖音号能查到微信号吗(通过抖音号能查到那个人的位置吗)

    通过抖音号能查到微信号吗(通过抖音号能查到那个人的位置吗)

  • vivox9s手机备份在哪里(vivo手机备份数据)

    vivox9s手机备份在哪里(vivo手机备份数据)

  • 微信视频聊天黑屏是什么原因(微信视频聊天黑白屏怎么调)

    微信视频聊天黑屏是什么原因(微信视频聊天黑白屏怎么调)

  • 劳务公司计税税率
  • 银行承兑汇票是什么科目
  • 纳税人的住房租金专项附加扣除标准有
  • 租金是含税的吗
  • 申报企业所得税流程
  • 注册资本5块钱
  • 房地产收入成本确认
  • 股东多交投资款处理
  • 公众号注册验证方式
  • 免费提供客户试用卷的账务处理?
  • 低价股权转让是利空还是利好
  • 税控机减免税额怎么算
  • 企业给员工购买社保的规定
  • 买空调交税是谁交税
  • 营改增后接受实物投资是否需要缴纳增值税?
  • 广告制作需要缴纳文化事业建设税吗?
  • 2018年生育保险报销
  • 缴纳的住房公积金计入什么科目
  • 资产处置损益在企业所得税汇算时如何填列
  • 企业重组 资产重组
  • 跨区经营的税务政策
  • 不开票的收入怎么办
  • 进项税额能抵扣的几种情形
  • 小规模纳税人所得税申报表如何填写
  • 建设银行对公转账限额
  • 小规模发工资超了怎么办
  • 继续教育专项附加扣除标准
  • 给员工小孩买礼物合适吗
  • bios设置网卡开启
  • 收回借支款的账务处理
  • 印花税是怎么计算
  • 生产型企业原材料运费入库单怎么填
  • imgrd.exe是什么
  • PHP:pg_result_status()的用法_PostgreSQL函数
  • 废品损失科目的期末余额在借方表示什么?
  • 自查补缴增值税如何申报
  • 语音处理算法
  • 为什么结转各项支出时本年利润在借方
  • 贷方跟借方哪个是收入哪个是支出
  • php实现登录功能
  • 货物及劳务包括哪些内容
  • 十四届智能车规则
  • vuexl
  • hostnamectl命令
  • 命令行mkdir创建文件夹
  • 什么时候进项税转出
  • 房东租金收据
  • 对象是类的实例,一个对象必须属于一个已知的类
  • phpcms怎么用
  • sql 行列转换
  • 附有销售退回条件的商品销售,如果不能对退货
  • 进项票和销项票金额一样可以吗
  • 通用发票如何缴销
  • 运输公司发票抵扣
  • 管理人员工资属于酌量性固定成本
  • 航空电子客票行程单怎么打印
  • 代金券抵帐怎么退款
  • 出口收到货款怎么做账
  • 删除用户mysql
  • xp查看系统
  • Windows如何自动关机
  • centos7.0网络配置
  • AquariumDesktop.exe进程危险吗 AquariumDesktop是什么进程
  • centos ohmyzsh
  • win10 ie浏览器双击没有反应
  • linux中tr命令
  • linux备份恢复
  • errorlnk2019怎么解决
  • python算法具有哪五个性质
  • js遍历获取指定数据
  • 并行 python
  • jquery访问本地html
  • 国家河北税务局官网
  • 河北发票查询真伪查询
  • 深圳个人税收完税证明网上打印
  • 2022年最新最全执业药师继续教育考试答案
  • 税务部门客服
  • 2020年职工探亲路费报销最新规定
  • 超市一般纳税人做账流程
  • 每个省几个市
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设