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

  • 一般纳税人年末结转增值税的账务处理
  • 居民和非居民企业的概念
  • 城市维护建设税优惠政策
  • 税收滞纳金是什么债权
  • 福利费是计提还是结转
  • 12月费用1月报销的账务处理
  • 同一控制下企业合并和非同一控制下企业合并的区别
  • 向投资者支付股利
  • 作家以及作品
  • 收到总公司投资款怎么做账务处理
  • 体检发票开公司还是个人
  • 领购纳税人状态注销或转非日期什么意思
  • 如何区分纳税人和小规模纳税人
  • 失控包括
  • 为外国公司提供境内服务
  • 拿到省级奖有什么用
  • 追补确认年度是哪一年
  • 本月不抵扣的发票不入帐吗
  • 一般纳税人十万以下免教育费附加
  • 企业没有进项票只有成本票
  • 商品损耗怎么做会计分录
  • cdr插件哪个最好用
  • 以土地使用权投资入股的土地增值税
  • 你知道怎么安装
  • openlayers加载geojson
  • 发散思维的关键
  • win10 21h1正式版怎么样
  • 增值税进项税额转出的情况有哪些
  • 事业单位利息收入
  • php 二叉树的遍历
  • php获取网页视频地址
  • 招标单位收取标书费多少钱
  • 企业租地建厂流程
  • 企业固定资产账户2019年6月初借方余额5000000元
  • 结转未交增值税为什么是零
  • 上市公司回购股票意味着什么
  • 无形资产属于哪一类
  • php分页技术
  • PyTorch深度学习实战 | 基于ResNet的人脸关键点检测
  • php页面刷新
  • 无形资产转让账务怎么做
  • 外请专家讲课费如何交税
  • 购货方享受现金流量吗
  • 债务重组开场白
  • 织梦标签工具
  • 小规模劳务派遣公司税率
  • 企业工会经费计提标准
  • 运输费用增值税怎么算
  • 利润表的期末余额怎么算出来的
  • 记账凭证分类
  • 跨月的发票开错了该怎么办?
  • 收到商业承兑汇票的会计分录
  • 薪金的定义
  • 销售商品托收承付怎么确认收入
  • 折现率的选择主要是根据什么来判断
  • 公对私 预付款 税
  • mysql数据库性能
  • mysql5.7.17安装
  • sql server设置自增
  • Linux下安装mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz
  • mysql.sock在哪里
  • win8系统怎么把字体调大
  • Win7 64位系统声卡重装过程中出现失败的解决方法
  • 苹果mac怎么安装win10
  • mac快捷键一览
  • hipo.dll是什么
  • win7使用率
  • win7旗舰版使用ie8特别卡怎么回事?
  • 代码sd是什么意思
  • nodejs worker
  • javascript 快速入门
  • node.js+captchapng+jsonwebtoken实现登录验证示例
  • js正则检验手机号
  • 使用jquery实现的项目
  • 苗木增值税发票税率
  • 农产品电子发票可以抵扣吗
  • 地税服务大厅上班时间
  • 正在办退休社区盖章到了那一步
  • 新余契税
  • 河北税务官方网页
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设