news 2026/4/15 13:44:04

商城后台管理系统 02, Vue项目-下载图片资源

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
商城后台管理系统 02, Vue项目-下载图片资源
html2canvas 官网: http://html2canvas.hertzen.com/

首先关于canvas,可以看看官网https://www.canvasapi.cn/HTMLCanvasElement/,

canvasjs图标库的官网:https://canvasjs.com/jquery-charts/

canvas官网

https://developer.mozilla.org/zh-CN/docs/Web/API/Canvas_API https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLCanvasElement/toDataURL HTMLCanvasElement.toDataURL() 方法返回一个包含图片表示的 data URI,此图片的格式由 type 参数指定。 可以指定所需的文件格式和图片质量。如果未指定文件格式,或指定的文件格式不受支持,则数据将以 image/png 导出。换句话说,如果传入的类型非 image/png,但是返回的值以 data:image/png 开头,那么这个类型是不受支持的。 浏览器被要求支持 image/png,许多浏览器也会支持 image/jpeg 和 image/webp 在内的其他格式。 对于支持编码分辨率元数据的文件格式,创建的图像数据将具有 96dpi 的分辨率。
Vue项目-下载图片资源 实现代码如下
1, src/views/User/index.js <template> <div class="user"> <div class="hetong"> <!-- 1, 查看合同 --> 签约合同内容:<el-button type="primary" size="small" @click="look">查看合同</el-button> </div> <VuePdf ref="myPdf" /> <!-- 2, 查看发票 --> <div class="money"> <el-row :gutter="20"> <el-col :span="8"> <el-card class="box-card"> <div slot="header" class="clearfix"> <span>卡片名称</span> <el-button @click="download" style="float: right; padding: 3px 0;" type=" text">下载发票</el-button> </div> <div class="text item"> <img ref="img" style="width: 400px;" :src="imgUrl" alt="" /> </div> </el-card> </el-col> <el-col :span="8"> <el-card class="box-card"> <div slot="header" class="clearfix"> <span>卡片名称</span> <el-button @click="downs" style="float: right; padding: 3px 0;" type=" text">下载不同源发票</el-button> </div> <div class="text item"> <img ref="myimg" style="width: 400px;" src="../../assets/images/88.png" alt="" /> </div> </el-card> </el-col> <el-col :span="8"> <el-card class="box-card"> <div slot="header" class="clearfix"> <span>卡片名称</span> <el-button @click="down()" style="float: right; padding: 3px 0;" type=" text">下载本地发票</el-button> </div> <div class="text item"> <img ref="img" style="width: 400px;" :src="imgUrl" alt="" /> </div> </el-card> </el-col> </el-row> </div> </div> </template> <script> import VuePdf from '@/views/User/VuePdf'; import img from '@/assets/images/88.png'; export default { data() { return { imgUrl: img, }; }, components: { VuePdf }, methods: { // 查看合同 look() { this.$refs.myPdf.dialogVisible = true }, download() { // 1, 新窗口打开网址 右键保存 look() open() let url = this.$refs.img; console.log(url.src); window.location.href = url.src; }, // 2, 必须同源才能下载 可以直接下载 down() { var alink = document.createElement("a"); alink.href = this.imgUrl; console.log(this.imgUrl); alink.download = "pic"; // 图片名 alink.click(); }, // 解决图片不同源下载问题 downloadImage(imgsrc, name) { // 下载图片地址和图片名 创建图片 var image = new Image(); // <img /> // 解决跨域 canvas 污染问题 image.setAttribute("crossOrigin", "anonymous"); // 读图片 image.onload = function() { var canvas = document.createElement("canvas"); canvas.width = image.width; canvas.height = image.height; var context = canvas.getContext("2d"); context.drawImage(image, 0, 0, image.width, image.height); // 得到图片的 base64 编码数据 图片格式 默认为 image/png var url = canvas.toDataURL("image/png"); // 生成一个 a 元素 var a = document.createElement("a"); // 创建一个单击事件 var event = new MouseEvent("click"); // 设置图片名称 a.download = name || "photo"; // 将生成的URL设置为a.href属性 a.href = url; // 触发a的单击事件 a.dispatchEvent(event); }; // 给图片赋值 image.src = imgsrc; }, downs() { this.downloadImage(this.$refs.myimg.src, "pic"); }, }, }; </script> <style lang="less" scoped> .user { margin: 10px; } </style>

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/9 9:39:50

18、利用 Microsoft Face API 进行图像人脸检测

利用 Microsoft Face API 进行图像人脸检测 在当今数字化时代,人脸识别技术在众多领域都有着广泛的应用,如安防、社交、娱乐等。Microsoft Cognitive Services 中的 Face API 为我们提供了强大的人脸检测功能,可以帮助我们轻松地从图片中检测出人脸,并获取人脸的各种属性信…

作者头像 李华
网站建设 2026/4/10 20:22:02

如何快速配置Mesop Select组件默认值:新手开发者的完整指南

如何快速配置Mesop Select组件默认值&#xff1a;新手开发者的完整指南 【免费下载链接】mesop 项目地址: https://gitcode.com/GitHub_Trending/me/mesop 还在为Mesop框架中Select组件默认值设置问题而头疼吗&#xff1f;每次打开页面&#xff0c;选择框总是空白一片&…

作者头像 李华
网站建设 2026/4/15 12:14:46

仿写文章prompt:SQL代码格式化工具深度解析

仿写文章prompt&#xff1a;SQL代码格式化工具深度解析 【免费下载链接】SqlBeautifier A sublime plugin to format SQL. It supports both sublime 2 and 3. 项目地址: https://gitcode.com/gh_mirrors/sq/SqlBeautifier 任务目标 请基于SqlBeautifier项目信息&#…

作者头像 李华
网站建设 2026/4/14 6:33:01

React CSS Modules终极指南:轻松掌握组件样式封装技术

React CSS Modules终极指南&#xff1a;轻松掌握组件样式封装技术 【免费下载链接】react-css-modules Seamless mapping of class names to CSS modules inside of React components. 项目地址: https://gitcode.com/gh_mirrors/re/react-css-modules React CSS Module…

作者头像 李华
网站建设 2026/4/15 13:18:22

TikZJax:浏览器中的LaTeX绘图革命[特殊字符]

TikZJax&#xff1a;浏览器中的LaTeX绘图革命&#x1f525; 【免费下载链接】tikzjax TikZJax is TikZ running under WebAssembly in the browser 项目地址: https://gitcode.com/gh_mirrors/ti/tikzjax 如何在3分钟内集成TikZJax&#xff1f; 想象一下&#xff0c;在…

作者头像 李华
网站建设 2026/4/15 13:37:08

现代化存储系统架构设计与优化策略完整指南

现代化存储系统架构设计与优化策略完整指南 【免费下载链接】rustfs &#x1f680; High-performance distributed object storage that is faster than MinIO 项目地址: https://gitcode.com/GitHub_Trending/rus/rustfs 在当今数据爆炸的时代&#xff0c;传统存储系统…

作者头像 李华