位置: 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损失)

  • 微信仅聊天朋友圈是什么样子(微信仅聊天朋友圈是一条线吗)

    微信仅聊天朋友圈是什么样子(微信仅聊天朋友圈是一条线吗)

  • 第五人格怎么玩(第五人格怎么玩新手教学)

    第五人格怎么玩(第五人格怎么玩新手教学)

  • 苹果手机淘宝淘气值在哪里看(苹果手机淘宝淘友圈怎么关闭)

    苹果手机淘宝淘气值在哪里看(苹果手机淘宝淘友圈怎么关闭)

  • 闲鱼申请退款卖家不理(闲鱼申请退款卖家不同意)

    闲鱼申请退款卖家不理(闲鱼申请退款卖家不同意)

  • 青桔单车供电原理(青桔电动车怎么恢复供电)

    青桔单车供电原理(青桔电动车怎么恢复供电)

  • 微信翻译朋友圈能看到吗(wechat 朋友圈的翻译)

    微信翻译朋友圈能看到吗(wechat 朋友圈的翻译)

  • 华硕b365和h310区别(华硕h310m与b365哪个好)

    华硕b365和h310区别(华硕h310m与b365哪个好)

  • 快手收藏的显示不出来(快手收藏显示999是啥意思)

    快手收藏的显示不出来(快手收藏显示999是啥意思)

  • 2b/a苹果是什么版本(苹果2b型号)

    2b/a苹果是什么版本(苹果2b型号)

  • 智伴机器人连不上WiFi(智伴机器人连不上wifi)

    智伴机器人连不上WiFi(智伴机器人连不上wifi)

  • 拼多多在哪里看直播(拼多多在哪里看好友买的东西)

    拼多多在哪里看直播(拼多多在哪里看好友买的东西)

  • 苹果11怎么打开录屏功能(苹果11怎么打开悬浮球)

    苹果11怎么打开录屏功能(苹果11怎么打开悬浮球)

  • 微信解封后聊天记录还在吗(微信解封后聊天记录还找得回来吗)

    微信解封后聊天记录还在吗(微信解封后聊天记录还找得回来吗)

  • 2500k配什么主板(i5 2500k用什么主板)

    2500k配什么主板(i5 2500k用什么主板)

  • 路由器mbps什么意思(路由器mbps越高越好吗)

    路由器mbps什么意思(路由器mbps越高越好吗)

  • 抖音的认证信息是指什么(抖音的认证信息如何填写)

    抖音的认证信息是指什么(抖音的认证信息如何填写)

  • 苹果xsmax基带是高通还是英特尔(苹果xsmax基带是什么)

    苹果xsmax基带是高通还是英特尔(苹果xsmax基带是什么)

  • ps怎么合并路径(ps路径合并形状在哪里)

    ps怎么合并路径(ps路径合并形状在哪里)

  • word开始选项卡在哪(Word开始选项卡中有什么)

    word开始选项卡在哪(Word开始选项卡中有什么)

  • 照片怎么改大小和尺寸(照片怎么改大小1mb)

    照片怎么改大小和尺寸(照片怎么改大小1mb)

  • 抖音长腿特效在哪里(抖音长腿的特效在哪)

    抖音长腿特效在哪里(抖音长腿的特效在哪)

  • 华为mate30多少倍变焦(华为mate30多少倍放大)

    华为mate30多少倍变焦(华为mate30多少倍放大)

  • 红色囍怎么打出来(红色打勾的符号怎么输入)

    红色囍怎么打出来(红色打勾的符号怎么输入)

  • 网易云怎么录歌(网易云怎么录歌上传)

    网易云怎么录歌(网易云怎么录歌上传)

  • 2340x1080是几寸屏幕(2340x1080是多少英寸)

    2340x1080是几寸屏幕(2340x1080是多少英寸)

  • opporeno是5g手机吗(opporeno1是5g)

    opporeno是5g手机吗(opporeno1是5g)

  • 快手加入黑名单对方还会看到你吗(快手加入黑名单后对方能看见作品吗)

    快手加入黑名单对方还会看到你吗(快手加入黑名单后对方能看见作品吗)

  • 红魔手机3什么时候出(红魔手机什么品牌)

    红魔手机3什么时候出(红魔手机什么品牌)

  • 出口退税便捷退税操作流程
  • 高速公路通行费发票可以抵扣增值税吗
  • 财务杠杆和经营杠杆的区别
  • 简易征收纳税人取得专用发票
  • 开票交税当月不确认收入如何做账?
  • 案件补贴
  • 开票为单位 收款为个人
  • 公司用现金发放工资在税法上合规吗
  • 营改增前的工程款现在怎么开票
  • 以后年度继续扣除广告宣传费,要怎么写分录?
  • 注销税务财务报表模板
  • 小企业 企业所得税
  • 个体工商户增值税税率2023年
  • 预提工资的的计提依据
  • 库存成本与实际成本不符
  • 有合同未收到租金税务如何处理?
  • 分公司需要计提利息吗
  • 小规模纳税人可以退税吗?
  • 工商局打印公司章程介绍信
  • 社保已申报但未缴费有什么影响
  • 应交税金月底可以有余额吗
  • 无法找到脚本文件vbs
  • 公司收到银行转账会计分录
  • php字符串变量
  • 增值税进项税转出什么意思
  • 非累积带薪缺勤什么时候确认
  • PHP:class_parents()的用法_spl函数
  • 工资总额包括哪些福利费
  • thinkphp钩子场景
  • 购买股票的会计科目
  • 资产负债表的编制方法
  • php在图片上添加文字
  • php点运算符
  • 增值税减免怎么填写
  • 材料暂估入账
  • 应付债券和应付利息
  • 代扣代缴个税手续费返还文件
  • 跨年租金如何确权
  • 工程合同主要看什么
  • 税前利润弥补是什么意思
  • 往来对账的作用
  • 投资者减除费用30000
  • MySQL中distinct与group by语句的一些比较及用法讲解
  • 投资管理公司成立的请示范文
  • 食堂费用没有发票
  • 个体工商户需要给员工交社保吗
  • 信用减值损失是什么项目
  • 所得税汇算调增后怎么改财务报表
  • 物流公司挂靠会计处理?
  • 持有至到期投资是债权投资吗
  • 什么叫系统服务
  • 计入福利费
  • 代理记账许可证查询
  • 编制利润表的主要根据是
  • 企业应收票据
  • 备查账簿有没有固定的格式
  • mysql格式化日期yyyy/mm/dd
  • win7开机报错0xc0000098
  • win2003回收站
  • 系统有乱码怎么解决
  • centos 文件搜索
  • explorer.exe进程文件
  • 怎么操作win10系统
  • Win10 Mobile 10586升级后无限重启怎么办 硬重启帮您解决
  • linux php 开发教程
  • win7系统快速关机快捷键
  • windows10打开此电脑
  • Linux系统怎么安装gz包软件
  • codeblocks配置opencv
  • 管道的实现
  • python输出代码怎么写
  • python爬取某人所有朋友圈
  • 优化ui界面是啥意思
  • js 单击弹出对话框
  • python的opencv
  • jquery easing
  • js math.js
  • jquery console.log
  • jquery自定义函数
  • 国家税务网上办税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设