vue实现图片下载点击按钮弹出本地窗口选择自定义保存路径功能

 更新时间:2023年12月01日 14:56:14   作者:秋石兰  
vue前端实现前端下载,并实现点击按钮弹出本地窗口,选择自定义保存路径,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

vue前端实现前端下载,并实现点击按钮弹出本地窗口,选择自定义保存路径

直接上代码,废话不多说,点关注,不迷路

一、下载代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <title></title>
    <meta name="description" content="" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" href="" />
  </head>
  <body>
    <a onclick="fn1()" style="cursor: pointer">aaaaaaa</a>
    <script>
      var arr = [
        "https://img0.baidu.com/it/u=4162443464,2854908495&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500",
      ];
      function downloadIamge(imgsrc, name) {
        let image = new Image();
        image.setAttribute("crossOrigin", "anonymous");
        image.onload = function () {
          let canvas = document.createElement("canvas");
          canvas.width = image.width;
          canvas.height = image.height;
          let context = canvas.getContext("2d");
          context.drawImage(image, 0, 0, image.width, image.height);
          let url = canvas.toDataURL("image/png");
          let a = document.createElement("a");
          let event = new MouseEvent("click");
          a.download = name || "photo";
          a.href = url;
          a.dispatchEvent(event);
        };
        image.src = imgsrc;
      }
      function WriteToFile(sText) {
        with (document) {
          ir = createElement("iframe");
          ir.id = "ifr";
          ir.location = "about:blank";
          ir.style.display = "none";
          body.appendChild(ir);
          with (getElementById("ifr").contentWindow.document) {
            open();
            write(sText);
            close();
            if (document.compatMode && document.all) {
              execCommand("SaveAs", false, ".txt");
            } else {
              location = "data:application/rtf," + encodeURIComponent(sText);
            }
          }
          setTimeout(function () {
            body.removeChild(ir);
          }, 1000);
        }
      }
      function fn1() {
        for (let i = 0; i < arr.length; i++) {
          downloadIamge(arr[i]);
        }
      }
    </script>
  </body>
</html>

二、别找代码了,不用代码就可以实现

以下按照步骤一步一步来
按照红色箭头所指,用鼠标戳它

在这里插入图片描述

在这里插入图片描述

恭喜你,功能完成了

到此这篇关于vue实现图片下载点击按钮弹出本地窗口选择自定义保存路径功能的文章就介绍到这了,更多相关vue点击下载图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue和uniapp中该如何使用canvas详解

    Vue和uniapp中该如何使用canvas详解

    说起canvas是css3新增的标签,而饼状图又是canvas经典,我们公司现在正在用uni-app框架去研发APP,下面这篇文章主要给大家介绍了关于Vue和uniapp中该如何使用canvas的相关资料,需要的朋友可以参考下
    2022-10-10
  • vue3中事件处理@click的用法详解

    vue3中事件处理@click的用法详解

    @click指令用于监听元素的点击事件,并在触发时执行相应的处理函数,在Vue3中,事件处理就可以通过@click指令来实现,下面我们就来看看如何在Vue3中处理点击事件吧
    2023-08-08
  • vue+vux vux安装出现错误问题及解决

    vue+vux vux安装出现错误问题及解决

    这篇文章主要介绍了vue+vux vux安装出现错误问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue proxytable代理根路径的同时增加其他代理方式

    vue proxytable代理根路径的同时增加其他代理方式

    这篇文章主要介绍了vue proxytable代理根路径的同时增加其他代理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • 浅谈Vue插槽实现原理

    浅谈Vue插槽实现原理

    vue.js的灵魂是组件,而组件的灵魂是插槽。借助于插槽,我们能最大程度上实现组件复用。本文主要是对插槽的实现机制进行详细概括总结,在某些场景中,有一定的用处
    2021-06-06
  • vue基于viewer实现的图片查看器功能

    vue基于viewer实现的图片查看器功能

    这篇文章主要介绍了vue基于viewer实现的图片查看器的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • vue 数据双向绑定的实现方法

    vue 数据双向绑定的实现方法

    这篇文章主要介绍了vue 数据双向绑定的实现方法,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下
    2021-03-03
  • 在vue-cli搭建的项目中增加后台mock接口的方法

    在vue-cli搭建的项目中增加后台mock接口的方法

    这篇文章主要介绍了在vue-cli搭建的项目中增加后台mock接口的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Vue.js展示AJAX数据简单示例讲解

    Vue.js展示AJAX数据简单示例讲解

    当通过AJAX方式取回数据后,使用vue.js可以完美地按一定逻辑在页面上的展示数据,代码简单、优美、自然,而且便于与在用的页面框架集成,本文给大家介绍Vue.js展示AJAX数据简单示例
    2017-03-03
  • vue3+vite 动态引用静态资源及动态引入assets文件夹图片的多种方式

    vue3+vite 动态引用静态资源及动态引入assets文件夹图片的多种方式

    通过require动态引入, 发现报错:require is not defind,这是因为 require 是属于 Webpack 的方法,本文给大家介绍vue3+vite 动态引用静态资源及动态引入assets文件夹图片的多种方式,感兴趣的朋友一起看看吧
    2023-10-10

最新评论