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

  • 手机连不上wifi是怎么回事(手机连不上wifi是怎么回事)(手机连不上wifi是怎么回事无ip分配)

    手机连不上wifi是怎么回事(手机连不上wifi是怎么回事)(手机连不上wifi是怎么回事无ip分配)

  • 支付宝转账对方会有提示吗(支付宝转账对方没收到是怎么回事)

    支付宝转账对方会有提示吗(支付宝转账对方没收到是怎么回事)

  • 华为手机内存不足怎么解决(华为手机内存不足怎么清理彻底)

    华为手机内存不足怎么解决(华为手机内存不足怎么清理彻底)

  • vivos1带不带nfc功能(vivos1手机nfc功能怎么打开)

    vivos1带不带nfc功能(vivos1手机nfc功能怎么打开)

  • 应用于工业控制的计算机主要有(应用于工业控制的技术)

    应用于工业控制的计算机主要有(应用于工业控制的技术)

  • 抖音移除粉丝后对方还能关注吗(抖音1000粉丝怎么弄)

    抖音移除粉丝后对方还能关注吗(抖音1000粉丝怎么弄)

  • 爱奇艺账号注销后还会自动续费吗(爱奇艺账号注销冻结多久)

    爱奇艺账号注销后还会自动续费吗(爱奇艺账号注销冻结多久)

  • 信息未下载什么意思(短信显示未下载)

    信息未下载什么意思(短信显示未下载)

  • 华为mate20pro没有指纹解锁怎么回事(华为mate20pro没有指纹解锁吗)

    华为mate20pro没有指纹解锁怎么回事(华为mate20pro没有指纹解锁吗)

  • 华为手机助手叫什么(华为手机助手下载安装到手机)

    华为手机助手叫什么(华为手机助手下载安装到手机)

  • 华为荣耀play3什么时候上市(华为荣耀play3什么时候升级鸿蒙)

    华为荣耀play3什么时候上市(华为荣耀play3什么时候升级鸿蒙)

  • a1489是mini几(a1490是mini几代是4g吗)

    a1489是mini几(a1490是mini几代是4g吗)

  • 手机号注册qq存在不安全怎么解决(手机号注册QQ存在安全风险)

    手机号注册qq存在不安全怎么解决(手机号注册QQ存在安全风险)

  • vivo手机手电筒不亮了怎么回事(vivo手机手电筒在哪里打开)

    vivo手机手电筒不亮了怎么回事(vivo手机手电筒在哪里打开)

  • jkm一tl00是什么机型(jkmal00是什么型号)

    jkm一tl00是什么机型(jkmal00是什么型号)

  • 阿里宝卡怎么解除封顶(阿里宝卡怎么解绑亲情卡)

    阿里宝卡怎么解除封顶(阿里宝卡怎么解绑亲情卡)

  • 手机上怎么退火车票(手机上怎么退火车票车费怎么退)

    手机上怎么退火车票(手机上怎么退火车票车费怎么退)

  • 手机wps如何合并单元格(手机wps如何合并两个文档)

    手机wps如何合并单元格(手机wps如何合并两个文档)

  • iphone11蜂窝网络怎么设置(iphone11蜂窝网络慢)

    iphone11蜂窝网络怎么设置(iphone11蜂窝网络慢)

  • 小米mix2s有息屏显示功能吗(小米mix2s灭屏显示时间在哪)

    小米mix2s有息屏显示功能吗(小米mix2s灭屏显示时间在哪)

  • 手机淘宝货到付款怎么弄(手机淘宝货到付款怎么付)

    手机淘宝货到付款怎么弄(手机淘宝货到付款怎么付)

  • b站怎么看全部弹幕(B站怎么看全部关注)

    b站怎么看全部弹幕(B站怎么看全部关注)

  • 连接网线后,对应端口指示灯不亮怎么办?(接的网线影响传输吗)

    连接网线后,对应端口指示灯不亮怎么办?(接的网线影响传输吗)

  • python中合并表格的两种方法(python合并多个excel)

    python中合并表格的两种方法(python合并多个excel)

  • 装修行业小规模纳税人标准
  • 全国税务师官网报名
  • 政府会计固定资产盘亏的账务处理
  • 哪些进项税额不能加计抵减
  • 转出多交增值税最后怎么做平
  • 介质申报和网络申报的区别
  • 现金日记账怎么记账借方还是贷方
  • 中外合资经营企业的经营期限
  • 递延收益摊销金额怎么算
  • 车间管理人员的工资属于
  • 结转税金为贷方怎么结转?
  • 收到销售折让的红字怎么做账
  • 总公司名义取得的进项发票可以在分公司抵扣吗?
  • 记账凭证一定要签字吗
  • 国有企业出租房屋管理规定
  • 防伪税控维护费会计分录
  • 甲供材简易征收税率
  • 商贸企业固定资产计提折旧吗
  • 电商平台收取的运输费记收入吗
  • 增值税可以提前申报不?
  • 现金流量的具体识别标准
  • 六月雪的养殖方法和注意事项
  • 怎么修改以前年度的账
  • 工程决算超预算起诉
  • 微软2003系统
  • linuxssh免密登录
  • 怎么关闭windows defender
  • navapp.exe - navapp是什么进程文件 作用是什么
  • 代开房租的税点计入什么科目?
  • 免单产品是什么意思
  • 装修费怎么记会计科目
  • 索尼体积最小的微单
  • laravel 分层
  • 坏账核销能否增加利润
  • 小程序报错怎么解决
  • 新成立公司建账
  • 残保金是职工薪酬吗
  • 瑞数5.5逆向笔记(纯扣算法)
  • html做超链接
  • ChatGPT 逆天测试,结局出乎预料
  • 用php编写一个简单的计算器程序
  • thinkphp消息通知
  • 自然人税收管理系统
  • 股东退股分利润
  • 商业银行贷款业务按担保形式分,可分为( )
  • 异地预缴的附加税在申报税时会抵消掉么
  • 购货销售折让会计分录
  • 公司小规模纳税人转为一般纳税人,需要签补充协议吗
  • mysql 执行动态语句
  • sql去除重复项
  • sqlserver数据导入mysql
  • 公司购买的金蝶软件属于的固定资产吗
  • 电子商业承兑汇票的承兑有以下几种方式
  • 合作社财政补助平均量化
  • 短期借款利息的使用账户是
  • 资产季末值
  • 个人社保缴纳会不会自动扣款
  • 会计凭证装订的心得体会
  • 个体工商户是否要交税
  • 企业清算主要清算哪些项目?
  • u盘怎么安装win2012
  • Windows自带的游戏怎么删除
  • 微软宣布9款游戏退出XGP订阅
  • win10 mobile 预览10240
  • 虚拟机怎么不能玩游戏
  • win8怎么一开机就进入桌面
  • win7系统显卡驱动在哪个文件夹
  • windows蓝牙被禁用
  • div遮罩层整个页面
  • 谈谈关于中华文明的五个突出特性
  • python指令生成脚本
  • python爬虫详解
  • 教你怎样用气球做可爱小兔子气球君带你做气球手工
  • javascript中的document
  • jquery给div添加样式
  • 怎样学好js中的逻辑
  • [转]决算中甲供材如何扣除?
  • 山西一女子实名举报局长
  • 常州市三免卡
  • 如何在国税网查看社保人员信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设