vue实现图片或文件下载功能

今天一个需求就是实现图片下载功能,刚开始以为很简单没有什么逻辑可写,就以为调用后端接口就可以了,调用之后发现有问 题,看来还是没有想象的那么简单

1、要自己创建一个a标签,以下就是下载功能的实现

这里是调用接口之后如果code=200时进行下载

if (res.code == 200) {const link = document.createElement("a"); //自己创建的a标签link.href = res.data;document.body.appendChild(link);link.click();document.body.removeChild(link);window.URL.revokeObjectURL(res.data);}

2、还有一种情况是下载单张图片,如果用上面方法会直接跳转到了图片链接,并不会实现下载。下面则是下载单张图片的方法

getUrlBase64(imgUrl) {return new Promise((resolve) => {let canvas = document.createElement("canvas");let ctx = canvas.getContext("2d");let img = new Image(); //允许进行跨域img.crossOrigin = "Anonymous";img.src = imgUrl;img.onload = function() {canvas.height = img.height; //图片的高度canvas.width = img.width;//图片的宽度ctx.drawImage(img, 0, 0, img.width, img.height);let dataURL = canvas.toDataURL("image/png");canvas = null;resolve(dataURL);};});},//点击下载图片按钮的事件handleDowondImg(url, name) {this.getUrlBase64(url).then((base64) => {const link = document.createElement("a");link.href = base64;link.download = this.$route.query.source;link.click();});},

vue实现下载文件和图片功能相关推荐

  1. vue接入下载文件接口

    vue接入下载文件接口 后端接口返回字节数组或者文件流返回下载的文件时,前端使用vue接入下载文件的方法如下: 前端部分 1.前端下载文件方法 // obj:后端返回的的字节数组或者文件流:name: ...

  2. 爬虫框架Scrapy(10)下载文件与图片

    文章目录 下载文件与图片 (一)FilesPipeline 和 ImagesPipeline 1. FilesPipeline 使用说明 2. ImagesPipeline 使用说明 (二)项目实例: ...

  3. [转]使用URLConnection下载文件或图片并保存到本地

    Code import java.io.FileOutputStream;    import java.io.InputStream;    import java.io.OutputStream; ...

  4. html鼠标悬浮更换图片,Vue.js鼠标悬浮更换图片功能

    最近自己做的项目中设计师要求分类栏中鼠标悬停更换图片,大致实现出来的效果就是这样: 这个在jQuery中是个很简单的事,但是在vue中我还是第一次实现. 首先将所有的选中后图片都覆盖到没选中图片上 c ...

  5. vue中下载文件导出保存到本地

    vue中下载文件导出保存到本地 先分析如何下载:先有一个链接地址,然后使用 location.href或window.open()下载到本地 看看返回数据 res.config.url 中是下载链接地 ...

  6. Python爬虫之scrapy下载文件和图片

    Python爬虫之scrapy下载文件和图片 一:pipeline 二:使用scrapy下载图片 2.1 创建scrapy项目 1.2 创建爬虫 1.3 配置文件设置 1.4 编写启动文件 1.5 爬 ...

  7. Vue 项目下载文件最佳解决方案

    大厂技术  高级前端  Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 原文链接: https://juejin.cn/post/70628885824651919 ...

  8. 钉钉内置浏览器下载文件(钉钉跨域下载文件、图片等)

    刚开始在网上查询到很多资料其中最为广泛的是用<a>download下载,但是会遇到图片.txt.MP4等文件无法下载被浏览器直接打开,后来尝试用blob的方法进行字节流转换,虽然成功了,但 ...

  9. vue 如何下载文件(包含txt jpg pdf word)

    闲聊: 问题:项目中的一个bug,使用a标签的href download 的下载功能,但是对于图片 .txt文件,浏览器能解析的文件,会直接展示出来. 征程:看了各种博客,什么乱七八糟的都有(a标签啦 ...

最新文章

  1. Linux内存中的 buffer 和 cache 到底是个什么东东?
  2. 管家婆有未记账的凭证怎么办_管家婆常见问题
  3. c oracle 中文列名,C#获取ORACLE列名的有关问题,这次够详细了吧。求帮助
  4. 银行业数据中心性能测试的策略与实践(PPT)
  5. 的g极串一个电阻_负载电阻的原理及应用
  6. latex 数学公式_数学公式、方程式 OCR 识别编辑 LaTeX 公式软件神器—极度公式
  7. sql server 修改表字段
  8. fork join框架_Java中的Fork / Join框架的简要概述
  9. python算法的基本原理_kNN算法基本原理与Python代码实践
  10. Python《使用Selenium实现自动化操作》
  11. (转)测试用例的设计方法(全)之三 判定表、正交实验
  12. Summary_zTree的 setting 配置详解
  13. 游戏贪吃蛇计分c语言,C语言实现贪吃蛇游戏(命令行)
  14. 经典查找算法 --- R树
  15. c语言ascii字母比较大小,C语言中,大写字母M的ASCII码值比小写字母m的ASCII码值大。...
  16. Windows11下Edge浏览器登录工行农行并使用K宝U盾
  17. 如何调整c盘分区大小,怎样把c盘空间调整小些
  18. 点是否在三角形内——C++实现
  19. “元宵”大师带你用Python量化交易
  20. 酒店无线WiFi实名认证方案

热门文章

  1. 算法导论:快速找出无序数组中第k小的数
  2. 重磅!信号分析新方法fCWT处理速度提高100倍,可应用于脑机接口,Nature子刊
  3. Manacher算法总结
  4. 萧乾升:4.12今日财经风险提示
  5. vmware7.1汉化中文版序列号+注册机下载
  6. C语言 Mkl 矩阵乘法,使用MKL的Vector-Sparce矩阵乘法
  7. tap纯html音乐网站,html实现tap的多种方式
  8. 英语总结——木桶原理
  9. 2058(等差求和)
  10. python小游戏毕设 仿八分音符的声控小游戏设计与实现 (源码)