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

  • 电脑自动重启一次又一次(电脑自动重启)(电脑自动重启一次需要检修吗)

    电脑自动重启一次又一次(电脑自动重启)(电脑自动重启一次需要检修吗)

  • 笔记本怎么进入bios界面(笔记本怎么进入bios)(笔记本怎么进入u盘启动)

    笔记本怎么进入bios界面(笔记本怎么进入bios)(笔记本怎么进入u盘启动)

  • 微信账单能导出来吗(微信账单能导出几年的)

    微信账单能导出来吗(微信账单能导出几年的)

  • 电脑版WPS怎么在文字下面加点(电脑版wps怎么在手机上用)

    电脑版WPS怎么在文字下面加点(电脑版wps怎么在手机上用)

  • 手机怎么下载歌曲到内存卡(手机怎么下载歌曲到OTG)

    手机怎么下载歌曲到内存卡(手机怎么下载歌曲到OTG)

  • 安卓为什么越用越卡顿(安卓为什么越用越卡顿 知乎)

    安卓为什么越用越卡顿(安卓为什么越用越卡顿 知乎)

  • oppoa5充电慢怎么办(oppoa5充电慢)

    oppoa5充电慢怎么办(oppoa5充电慢)

  • 惠普电脑截屏的快捷键是什么(惠普电脑截屏的图片在哪里找)

    惠普电脑截屏的快捷键是什么(惠普电脑截屏的图片在哪里找)

  • 钉钉可以后台播放吗

    钉钉可以后台播放吗

  • word为什么改行距没有变化(为什么word一换行格式就变了)

    word为什么改行距没有变化(为什么word一换行格式就变了)

  • 微信实名认证需要上传身份证照片吗(微信实名认证需要人脸识别吗)

    微信实名认证需要上传身份证照片吗(微信实名认证需要人脸识别吗)

  • 华为dub-al00是什么型号(华为DUB-AL00是什么手机)

    华为dub-al00是什么型号(华为DUB-AL00是什么手机)

  • 微信怎么看自己的出行记录(微信怎么看自己点赞过的朋友圈)

    微信怎么看自己的出行记录(微信怎么看自己点赞过的朋友圈)

  • 怎么删除淘宝人生账单(怎么删除淘宝人生第一笔订单)

    怎么删除淘宝人生账单(怎么删除淘宝人生第一笔订单)

  • 打印机怎么加墨粉(打印机怎么加墨 步骤视频)

    打印机怎么加墨粉(打印机怎么加墨 步骤视频)

  • iphone11的电量的百分比怎么开啊(iphone 11的电量显示在哪里调整)

    iphone11的电量的百分比怎么开啊(iphone 11的电量显示在哪里调整)

  • 小米9水滴形状设置(更新后的小米9水滴屏在哪里设置?)

    小米9水滴形状设置(更新后的小米9水滴屏在哪里设置?)

  • 微信解锁密码怎么设置(微信打开需要密码怎么设置)

    微信解锁密码怎么设置(微信打开需要密码怎么设置)

  • vivox23幻彩有红外线吗(vivox23幻彩有红外线遥控功能吗)

    vivox23幻彩有红外线吗(vivox23幻彩有红外线遥控功能吗)

  • 抖音怎么把图片和视频放在一起(抖音怎么把图片时间延长)

    抖音怎么把图片和视频放在一起(抖音怎么把图片时间延长)

  • 苹果手机怎么测心率(苹果手机怎么测网速)

    苹果手机怎么测心率(苹果手机怎么测网速)

  • picsvr.exe是什么进程 picsvr进程查询(picfile什么意思)

    picsvr.exe是什么进程 picsvr进程查询(picfile什么意思)

  • 分享一个CSS的垂帘效果(css垂直导航栏)

    分享一个CSS的垂帘效果(css垂直导航栏)

  • 出口退税申报的发票无电子信息是什么意思
  • 一般纳税人财务要求
  • 税务纳税等级m级是什么等级
  • 反写不了是为什么
  • 劳务服务公司不含派遣,能接外包吗
  • 能从科目余额表入账吗
  • 一般账户网银可以发工资吗
  • 免税农产品收入是否计入30万销售额
  • 服务行业也有合伙人吗
  • 2017年的7月1日
  • 一般纳税人企业所得税计算公式
  • 外籍人员的个人所得税怎么算
  • 加计扣除需要注意的几大风险点
  • 工程施工会计核算方法
  • 金税盘减免税款贷方余额
  • 金融衍生工具的特点不包括
  • 借款的印花税入哪个账户
  • 银行承兑汇票承兑手续费是多少
  • 融资融券主要是哪些对象
  • 给员工发放购物卡交个税吗
  • 期间费用年末结转
  • 不附追索权的票据包括
  • 土地增值税清算的条件
  • win11中文安装包
  • 融资租赁与经营租赁的区别主要是
  • php_fileinfo作用
  • 营业外收支的内容
  • 油猴脚本插件官网
  • 布列塔尼岛屿
  • 资产处置损益要写明细账吗
  • 当月进项税额转出当月申报吗
  • 机票报销需要哪些才可以
  • 金税盘锁死状态
  • 软件行业的最后阶段是
  • js数组entries
  • 再生资源增值税退税优惠政策
  • 小微企业城建税减免政策
  • 代销手续费未付怎么处理
  • 商誉必须减值吗
  • 利润表利息费用怎么填
  • 招聘招一个人爱我图片
  • 畜类生产性生物资产计算折旧的最低年限
  • 公司给员工发福利图片
  • 开具红字发票如何做账?
  • 子公司的注册资金需要母公司股东出吗?
  • 印花税是如何计征的
  • 固定资产折旧计算方法公式大全
  • 成品油生产库存
  • 一家新成立的贸易企业
  • 购买土地的入账价值包括什么
  • 去年的暂估入库今年想把它给冲出来怎么做分录
  • 员工垫付的费用怎样记账
  • 损益表格式 最新
  • 旅行社财务会计工作内容
  • 库存商品账本填写样本
  • 勒索病毒2021
  • centos的命令行界面输入
  • ubuntu nginx webdav
  • windows资源管理器停止工作怎么办
  • win10病毒与防护
  • ssd安装centos7
  • SsAAD.exe - SsAAD是什么进程
  • PQV2ISECURITY.EXE - PQV2ISECURITY是什么进程 有什么用
  • windows7打开网络连接
  • javascript中cookie
  • jquery移动节点的方法
  • hover在jquery中的用法
  • shell脚本编程实验报告
  • python脚本运行命令
  • javascript学习指南
  • python按行读取文本并输出到excel
  • 探寻Javascript执行效率问题
  • javascript基本概念
  • python简要介绍
  • 国家税务总局票据丢失罚款标准
  • 广西12366医保缴费
  • 徐州市哪些区域封闭了
  • 河南国税网上办证流程
  • 土地增值税采取什么税率
  • 城镇土地使用税优惠政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设