方法一:a标签

// 下载
const downLoad = (url: string, name: string,type:string) => {var xhr = new XMLHttpRequest();xhr.open('GET', url, true);xhr.responseType = 'arraybuffer'; // 返回类型blobxhr.onload = function () {if (xhr.readyState === 4 && xhr.status === 200) {let blob = this.response;// 转换一个blob链接// 注: URL.createObjectURL() 静态方法会创建一个 DOMString(DOMString 是一个UTF-16字符串),// 其中包含一个表示参数中给出的对象的URL。这个URL的生命周期和创建它的窗口中的document绑定let downLoadUrl =''if (type==='视频'){downLoadUrl = window.URL.createObjectURL(new Blob([blob], {type: 'video/mp4'}));} else if (type === '图片' || type === '文件'){downLoadUrl = url}// 视频的type是video/mp4,图片是image/jpeg// 01.创建a标签let a = document.createElement('a');// 02.给a标签的属性download设定名称a.download = name;// 03.设置下载的文件名a.href = downLoadUrl;// 04.对a标签做一个隐藏处理a.style.display = 'none';// 05.向文档中添加a标签document.body.appendChild(a);// 06.启动点击事件a.click();// 07.下载完毕删除此标签a.remove();};};xhr.send()
}

方法二:阿里云——获取文件的下载URL

地址:预览或下载文件 - 对象存储 OSS - 阿里云

1、安装 ali-oss

cnpm install --save ali-oss

2、页面调用,client 中相关的属性需要自己去配置

const downLoad =async (item:any) => {let res:TResponse<TDownType>= await getAliossSetting()let {Code,Data}=resif(Code===200){const OSS = require('ali-oss');person.client = new OSS({// yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。region: Data.RegionId,// 从STS服务获取的临时访问密钥(AccessKey ID和AccessKey Secret)。accessKeyId: Data.AccessKeyID,accessKeySecret: Data.AccessKeySecret,// 从STS服务获取的安全令牌(SecurityToken)。// stsToken: 'yoursecurityToken',// 填写Bucket名称。bucket: Data.Bucket,});}// 配置响应头实现通过URL访问时自动下载文件,并设置下载后的文件名。var ext = item.Url.split('.')[item.Url.split('.').length - 1]const filename = item.Name+'.'+extconst response = {'content-disposition': `attachment; filename=${encodeURIComponent(filename)}`}// item.OldUrl: 'App.Live/教学部/uploads/图片/2022-08-23/e014dca2f0ff4f1e90ac931f32018140.png'// 填写Object完整路径。Object完整路径中不能包含Bucket名称。const URL = person.client.signatureUrl(item.OldUrl, { response });window.location.href=URL
}

3、哪里需要哪里调用

// 图片下载
const dowmClick=(item:any)=>{downLoad(item)
}

方法三:window.location.href 或 window.open

window.location.href = url
或
window.open(url)

希望我的愚见能够帮助你哦~,若有不足之处,还望指出,你们有更好的解决方法,欢迎大家在评论区下方留言支持,大家一起相互学习参考呀~

vue 实现 word、ppt、excel、图片、PDF、视频、音频等格式的文件下载相关推荐

  1. python word,ppt,excel转pdf(word转html),转图片

    word,ppt,excel转pdf 装依赖 pip install comtypes==1.1.10 转换 import comtypes.client import osdef ppt_pdf(p ...

  2. 使用vue框架,在线打开 word、excel、pdf 这三种格式的文件的方式。

    背景: 用户要求上传的word.excel.pdf 能够在线预览,要求不是很高,能打开查看一下大致内容就行. 准备工具:Vue.Nginx(没有它或者准备一个可以回传文件的后端接口就行,这个在这里用于 ...

  3. 【iOS_GitHub】文档/文件查看器(支持本地或者其他app分享过来的word、excel、pdf、rtf等格式文件)

    DocViewer(文档/文件查看器) Function Description 文档查看器(Word && Excel && PDF && Rft | ...

  4. 【学习记录20】vue使用blob流预览word ,Excel,pdf,TXT,图片,视频

    TXT,PDF直接使用浏览器本身预览 excel使用插件 xlsx,这个插件需要用到arraybuffer的流格式,我是使用前端转换的详见js代码,也可以叫后台返回arraybuffer的数据流 wo ...

  5. 前端实现word、excel、pdf、ppt、mp4、图片、文本等文件的预览

    关注公众号 前端开发博客,领27本电子书 回复加群,自助秒进前端群 大家好,我是漫步,明天有个抽奖,记得去参与.张鑫旭最新的CSS书,免费送10本 前言 因为业务需要,很多文件需要在前端实现预览,今天 ...

  6. vue+iview 内网预览(本文重点)+外网预览word、excel、pdf、ppt

    访问内网文件思路如下: 1.后端将word.excel.pdf文件转为二进制文件流 前端将文件流转为html从而实现文件预览 2.pdf没这么复杂具体可看下文 3.ppt的实现方式是后端将ppt转为p ...

  7. 文档在线预览(四)使用js前端实现word、excel、pdf、ppt 在线预览

    文章目录 实现方案 一.docx文件实现前端预览 1.docx-preview 2.Mammoth 二.PDF文件实现前端预览 1.pdf.js 2.pdfobject.js 3.vue-pdf 4. ...

  8. 微信小程序 语音录制功能和文件(ppt、word、excel、pdf、txt格式)上传

    语音录制 提醒:因为开发者工具不能接收语音文件,所以要使用真机调试测试噢~ 思路:使用小程序API wx.startRecord .wx.stopRecord 方法(调用前 记得 app.js 添加 ...

  9. 【e悦读】支持PDF转WORD/PPT/Excel等

    [e悦读更新]支持PDF转WORD/PPT/Excel等 [重磅信息]e悦读ON-LINE 研发出新功能,目前支持7种功能:     1. PDF转word     2. PDF转html(网页)   ...

  10. java实现文件加密(word、excel、pdf、ppt)

    导航 FileEncryUtils 测试环境 pom依赖 log4j.properties 代码 FileEncryUtils 提供word.excel.pdf.ppt的加密 测试环境 JDK1.8+ ...

最新文章

  1. bootstrap-wysiwyg: 迷你的Bootstrap的所见即所得的HTML富文本编辑器
  2. Javascript网页滚动方法
  3. 字节、阿里等大厂的技术如何?看看这些Java程序员的自学笔记
  4. 15、sql编程基本语法介绍
  5. 2019年技术盘点云数据库篇(一):UCloud专家谈云数据库:千锤百炼 云之重器
  6. Python与机器视觉(x) 颜色直方图
  7. 四步奠定SDN部署基石
  8. 人脸离线识别模块_人脸识别模块做到市场份额60%,这家AI公司如何用狼性在安防杀开一条血道?...
  9. 前端 JavaScript 实现一个简易计算器
  10. android view绘制速度,关于android ui的优化 view 的绘制速度
  11. iTOP-i.MX6Q开发板支持安卓Android6.0系统
  12. C语言 · 判断回文
  13. 菜菜的sklearn-01决策树完整版
  14. 百度 bos php,Thinkphp5对接百度云对象存储 BOS(代码示例)
  15. 网络安全——linux文本三剑客
  16. cmake依赖ffmpeg库(x264)错误
  17. mysql函数ceil和ceiling
  18. 解决服务器挖矿漏洞 crypto
  19. Context都没弄明白,还怎么做Android开发?
  20. 网校搭建3:安装meEdu

热门文章

  1. 三星手机PIN码忘记锁机解决方法
  2. 《教我兄弟学Android逆向12 编写xpose模块》
  3. 点击查看详情显示更多布局
  4. SecureCRT绿色破解版(解压即可,无注册机)
  5. 解决 手心输入法 导致 Navicat 闪退问题
  6. 一名前端 Leader 的转正述职记录
  7. 【阅读分享】《暗时间》——放弃学习,寸步难行
  8. ssis oracle配置,[SSIS][Oracle]安裝 Oracle Driver 提供 SSIS 使用
  9. 项目——网络对战五子棋(Web-Gobang)
  10. 【论文阅读】Speicher: Securing LSM-based Key-Value Stores using Shielded Execution