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

  • 怎么关闭爱奇艺会员(怎么关闭爱奇艺连续包月)

    怎么关闭爱奇艺会员(怎么关闭爱奇艺连续包月)

  • 优酷看不了(想想办法吧爸爸为什么在优酷看不了)

    优酷看不了(想想办法吧爸爸为什么在优酷看不了)

  • 抖音里不能下载的视频怎么保存下来(抖音不能下载是怎么回事)

    抖音里不能下载的视频怎么保存下来(抖音不能下载是怎么回事)

  • 微信视频能录像吗(微信视频能录像怎么没有声音)

    微信视频能录像吗(微信视频能录像怎么没有声音)

  • 爱奇艺预约多久能看(爱奇艺预约多久有效)

    爱奇艺预约多久能看(爱奇艺预约多久有效)

  • 抖音能查看访客记录吗(抖音刷访客)

    抖音能查看访客记录吗(抖音刷访客)

  • 卖家给单号是什么意思(卖家订单号)

    卖家给单号是什么意思(卖家订单号)

  • 华为手表和手机连接不上怎么办(华为手表和手机步数怎么同步)

    华为手表和手机连接不上怎么办(华为手表和手机步数怎么同步)

  • 苹果手机把人拉黑对方发短信会收到吗(苹果手机把人拉黑了还能收到短信是怎么回事?)

    苹果手机把人拉黑对方发短信会收到吗(苹果手机把人拉黑了还能收到短信是怎么回事?)

  • 打印机打一张隔一张(打印机打一张隔一会打一张)

    打印机打一张隔一张(打印机打一张隔一会打一张)

  • 金士顿u盘写保护怎么解除(金士顿U盘写保护工具下载)

    金士顿u盘写保护怎么解除(金士顿U盘写保护工具下载)

  • 终端与ap的连接过程是什么(终端与AP的连接过程是什么)

    终端与ap的连接过程是什么(终端与AP的连接过程是什么)

  • 腾讯视频怎么取消会员(腾讯视频怎么取消连续包月自动续费)

    腾讯视频怎么取消会员(腾讯视频怎么取消连续包月自动续费)

  • 路由器wifi5与wifi6区别(家用路由器wifi5和wifi6)

    路由器wifi5与wifi6区别(家用路由器wifi5和wifi6)

  • 阿里巴钉钉是什么意思(阿里巴钉钉是什么软件啊)

    阿里巴钉钉是什么意思(阿里巴钉钉是什么软件啊)

  • 抖音号正确为什么搜不到人(抖音号不行是什么意思)

    抖音号正确为什么搜不到人(抖音号不行是什么意思)

  • 微信如何禁止别人拉群(微信如何禁止别人推荐)

    微信如何禁止别人拉群(微信如何禁止别人推荐)

  • 进程的三种基本状态(进程的三种基本状态是运行状态就绪状态和什么状态)

    进程的三种基本状态(进程的三种基本状态是运行状态就绪状态和什么状态)

  • 手机没关机 为何打电话说关机了(手机没关机 为什么别人呼叫关机状态)

    手机没关机 为何打电话说关机了(手机没关机 为什么别人呼叫关机状态)

  • 金猪里的好友怎么删除(金猪有钱真的能提现吗)

    金猪里的好友怎么删除(金猪有钱真的能提现吗)

  • 小米手机智能出行怎么使用(小米手机智能出行卸载有什么影响)

    小米手机智能出行怎么使用(小米手机智能出行卸载有什么影响)

  • 华为p30自带美颜吗(华为p30美颜设置)

    华为p30自带美颜吗(华为p30美颜设置)

  • 红米手机忘记密码怎么办(红米手机忘记密码怎么办,但不清除数据)

    红米手机忘记密码怎么办(红米手机忘记密码怎么办,但不清除数据)

  • iphone11pro有双卡吗(iphone11pro有没有双卡)

    iphone11pro有双卡吗(iphone11pro有没有双卡)

  • 小米手环4为什么不显示信息(小米手环4为什么绑不上)

    小米手环4为什么不显示信息(小米手环4为什么绑不上)

  • 小米8的处理器是什么(小米8的处理器是多少)

    小米8的处理器是什么(小米8的处理器是多少)

  • 闪送如何注册(闪送如何注册账号)

    闪送如何注册(闪送如何注册账号)

  • Win11如何更换壁纸?Win11壁纸更换教程(win11怎么更改壁纸)

    Win11如何更换壁纸?Win11壁纸更换教程(win11怎么更改壁纸)

  • 非居民企业享受协定待遇
  • 增值税发票综合服务平台怎么下载
  • 小规模纳税人增值税减免账务处理
  • 制造业税负率怎么计算
  • 报表中存货包括什么科目
  • 运费的进项税
  • 网络服务费属于什么费用
  • 淘宝手续费是什么意思
  • 财政局专利补助政策
  • 投资性房地产租赁期开始日
  • 企业购买劳保用品会计处理
  • 环保公司开具发票怎么开
  • 税收缴款书税务收现专用的用途
  • 发票代码不是10位,怎么提示输入12位的
  • 一般纳税人高速公路通行费税率
  • 破产报表日是哪一日
  • 期望和方差的计算例题
  • 会计账目怎么理
  • 属于留存收益的是
  • 已使用固定资产出售增值税
  • 转让长期股权投资怎么算
  • 法院判决书能作为证据使用吗
  • efi系统分区能删除吗win10
  • windows4月更新
  • 公司增资怎么做
  • 王者荣耀中哪吒的图片
  • 上市公司发行股份是什么意思
  • 单位办事人员
  • win10分辨率调整
  • 鸿蒙系统怎么设置导航键
  • PHP:Memcached::setByKey()的用法_Memcached类
  • 分期付款购买固定资产折现率怎么算
  • thinkphp console
  • 其他权益工具投资属于什么科目
  • laravel5.2实现区分前后台用户登录的方法
  • tar压缩解压缩命令
  • mysql触发器创建
  • php之间传递数据
  • ls命令的作用
  • 产品检测费可以放入研发费用吗
  • 研发费用加计扣除新税收政策
  • 增值税发票名称可以写个人吗
  • 小规模纳税人每月不超过10万
  • 应付账款和应收账款的关系
  • python如何使用requests检查请求
  • 企业合并财务报表论文
  • 无发票的费用该谁承担
  • 投资性房地产如何折旧
  • 不单独计价的包装物是什么意思
  • 从物资公司购入原木的进项税额
  • 短期借款利息是期间费用吗
  • 项目费用有哪些
  • 采购固定资产怎么做账
  • 住宿发票费率是多少
  • 费用支出多了怎么办
  • 发票跨年冲红怎么做账
  • 发票丢了能做账吗
  • 临时人员是什么
  • 新手入门会计
  • 电脑出现黑屏英文要怎么处理
  • centos7添加ip地址
  • w8虚拟内存怎么设置
  • cocos creator 资源加密
  • javascript数组的方法
  • 虚拟内存系统盘
  • linux常用shell命令
  • jquery 设置背景色
  • nodejs中使用HTTP分块响应和定时器示例代码
  • js dom方法
  • 用js设置颜色
  • python 两个列表一一对应
  • unity 3渲2
  • 每天一篇小练笔30字
  • 如何用u盘重装电脑系统
  • 江西省国家税务局李德平
  • 个人转让商业用房税费
  • 核准类结算账户包括
  • 国际货运代理业务范围
  • 智行火车票电子报销凭证
  • 国税系统公务员调动
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设