vue下载阿里OSS上的图片与视频,纯前端实现,以及纯JS下载图片案例

vue下载阿里OSS上的图片与视频,以及纯JS下载图片案例

    • 1. 简介与日常使用
    • 2. Vue下载阿里OSS上的图片与视频
    • 3. 调用(单个与批量下载均可使用)
    • 4. 纯JS下载图片案例,Vue里面也可以用

在这里插入图片描述

1. 简介与日常使用

参考这篇文章即可:阿里OSS上传图片与视频

2. Vue下载阿里OSS上的图片与视频

  • 为了方便大家的使用直接封装成公用方法了,记得给个三连啊
  • 方法定义:
    downFilePublic(newArr) {let client = new OSS({region: "oss-cn-beijing",accessKeyId: "xxxxxx",accessKeySecret: "xxxx",bucket: "xxxx",});newArr.forEach((path) => {// 这行代码拿的是原文件的后缀名,后面我进行了改动// const filename = path.substring(path.lastIndexOf("/") + 1);// 这行代码更改为自定义的名字了const filename = path.fileName + path.link.match(/.[^.]+$/)[0];const response = {"content-disposition": `attachment; filename=${encodeURIComponent(filename)}`,};// 阿里云的API 直接调用即可let url = client.signatureUrl(path.link, { response });let iframe = document.createElement("iframe");iframe.style.display = "none";document.body.appendChild(iframe);iframe.src = url;});},
  • 需要注意的是,这里的 iframe 不能直接移除,因为下载任务可能还没完成
  • 可以等待完成再移除

3. 调用(单个与批量下载均可使用)

   // 批量下载 图片与视频 通用batchDownFile() {if (this.selectionArr.length == 0) {this.$message.warning("请先选择要下载的数据");return;}// 这里想要什么参数 往里面塞就是了let newArr = this.selectionArr.map((item) => {return {link: item.materialLink,  // 路径fileName: item.materialName}});this.downFilePublic(newArr);},// 单个下载downFile(row) {let arr = [{link:row.materialLink, fileName: row.materialName}];this.downFilePublic(arr);},
  • 注意,这里的 link 相对路径就可以,不用绝对路径
  • 比如 www.http//:oss.xxx/mater/demo.png,只要这个:mater/demo.png,当然也有可能就是 demo.png

4. 纯JS下载图片案例,Vue里面也可以用

    downFn(url) {let Img = new Image(),dataURL = "";let fileName = 'xxxxx.png';Img.src = url;// 处理跨域Img.setAttribute("crossOrigin", "Anonymous");// 监听图片加载好Img.onload = function () {let canvas = document.createElement("canvas"),width = Img.width,height = Img.height;canvas.width = width;canvas.height = height;canvas.getContext("2d").drawImage(Img, 0, 0, width, height);dataURL = canvas.toDataURL("image/png");let eleLink = document.createElement("a");eleLink.download = fileName;eleLink.style.display = "none";eleLink.href = dataURL;document.body.appendChild(eleLink);eleLink.click();document.body.removeChild(eleLink);};},
  • 调用传入图片的地址就行,这里必须要整个地址,比如:
downFn('www.http//:oss.xxx/mater/demo.png')

1. 希望本文能对大家有所帮助,如有错误,敬请指出

2. 原创不易,还请各位客官动动发财的小手支持一波(关注、评论、点赞、收藏)
3. 拜谢各位!后续将继续奉献优质好文
4. 如果存在疑问,可以私信我(主页有Q)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/329693.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法Hot100系列】合并 K 个升序链表

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

1018:奇数偶数和1028:I love 闰年!和1029:三角形判定

1018:奇数偶数 要求:输入一个整数,判断该数是奇数还是偶数。如果该数是奇数就输出“odd”,偶数就输出“even”(输出不含双引号)。 输入样例:8 输出样例:even 程序流程图&#xff1a…

Java SE入门及基础(4)

Java 中的数据类型 1.数据的概念 数据就是信息的符号表示。 比如: 小米手机 红米 10 元 5 年 刘德华 帅 50 188 富豪 2.数据类型 生活中我们常见的数据类型: Java中的数据类型分为 基本数据类型 和 引用数据类型 两大类 Java 中…

腾讯云代金券介绍及领取教程分享

腾讯云为了吸引用户经常推出各种优惠活动,其中就包括腾讯云代金券,领取之后可用于抵扣腾讯云平台上购买的部分产品或服务的费用。以下是腾讯云代金券的详细介绍及领取教程。 一、腾讯云代金券介绍 腾讯云代金券是腾讯云优惠券的一种,代金券是…

爬虫实战 - 微博评论数据可视化

简介: 我们都知道在数据比较少的情况下,我们是可以很轻易的获取到数据中的信息。但是当数据比较庞大的时候呢,我们就很难看出来了。尤其是面对现如今数以万计的数据,就更了。 不过好在我们可以通过计算机来帮我们进行分析&#…

【AI视野·今日CV 计算机视觉论文速览 第283期】Thu, 4 Jan 2024

AI视野今日CS.CV 计算机视觉论文速览 Thu, 4 Jan 2024 Totally 85 papers 👉上期速览✈更多精彩请移步主页 Daily Computer Vision Papers LEAP-VO: Long-term Effective Any Point Tracking for Visual Odometry Authors Weirong Chen, Le Chen, Rui Wang, Marc P…

MySQL数据库进阶-事务

事务 事务由单独单元的一个或多个SQL语句组成,在这 个单元中,每个MySQL语句是相互依赖的。而整个单独单 元作为一个不可分割的整体,如果单元中某条SQL语句一 旦执行失败或产生错误,整个单元将会回滚。所有受到影 响的数据将返回到…

【软件测试】黑盒测试

《等价类划分法》 有效等价类无效等价类 &#xff08;输入条件&#xff09;10 < x < 100&#xff08;有效等价类&#xff09;10 < x < 100&#xff08;无效等价类&#xff09;x < 10 和 x >100 《边界值分析法》 基本原则 如果输入条件规定了取值范围&…

web前端开发技术复习问答题

目录 1.简述常见单标签和双标签有哪些&#xff1f; 2.常见块级元素和行级元素有哪些&#xff1f; 3.简述常见的列表有哪些&#xff1f;他们有什么区别&#xff1f; 4.简述超链接的href属性值如何设置&#xff1f;有什么区别 5.CSS基本语法 6. css中常见的引入方式有几种&…

前端性能优化之图像优化

图像优化问题主要可以分为两方面&#xff1a;图像的选取和使用&#xff0c;图像的加载和显示。 图像基础 HTTP Archive上的数据显示&#xff0c;网站传输的数据中&#xff0c;60%的资源都是由各种图像文件组成的&#xff0c;当然这些是将各类型网站平均的结果&#xff0c;单独…

【Docker】docker部署conda并激活环境

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、新建dockerfile文件二、使用build创建镜像1.报错&#xff1a;Your shell has not been properly configured to use conda activate.…

C练习——鸡兔同笼

题目&#xff1a; 有若干只鸡和兔子在同一个笼子里&#xff0c;从上面数&#xff0c;有98个头&#xff1b;从下面数&#xff0c;有386只脚。问笼中各有几只鸡和兔&#xff1f; 解析&#xff1a; 数学上列二元一次方程组求解&#xff0c;所以采用穷举法&#xff0c;但可以缩小…