zoukankan      html  css  js  c++  java
  • 图片下载&&非同源图片下载&&同源下载&&网页点击下载图片

    非同源图片下载(html添加canvas标签)

     
    方法1:
    downloadImgByBase64(url){
        console.log(22222)
        // 创建隐藏的可下载链接  
        // let  blob = 'http://pic.c-ctrip.com/VacationH5Pic/mice/wechat/ewm01.png';
        // var a = document.createElement('a');
        // a.style.display = 'none';
        // a.href = blob;       
        // a.download = 'QRcode.jpg';
        // document.body.appendChild(a);
        // a.click();
        // //移除元素
        // document.body.removeChild(a);
        //canvans下载
        let src = url;
        var canvas = document.createElement('canvas');
        var img = document.createElement('img');
        img.onload = function(e) {
          canvas.width = img.width;
          canvas.height = img.height;
          var context = canvas.getContext('2d');
          context.drawImage(img, 0, 0, img.width, img.height);
          // window.navigator.msSaveBlob(canvas.msToBlob(),'image.jpg');
          // saveAs(imageDataUrl, '附件');
          canvas.getContext('2d').drawImage(img, 0, 0, img.width, img.height);
          canvas.toBlob((blob)=>{
            let link = document.createElement('a');
            link.href = window.URL.createObjectURL(blob);
            link.download = 'aaa';
            link.click();
          }, "image/jpeg");
    //注:图片为透明图片时使用图片格式 image/jpeg下载图片为黑色背景图,
    如果想下周图片为透明图片,使用图片格式
    image/png

    // context.toBlob(function(blob) { // console.log('blob :', blob); // let link = document.createElement('a'); // link.href = window.URL.createObjectURL(blob); // link.download = 'aaa'; // }, "image/jpeg"); } img.setAttribute("crossOrigin",'Anonymous'); img.src = src; }, 方法2: downloadImgByBase64cehsi(url) { var img = new Image() img.onload = function() { var canvas = document.createElement('canvas') canvas.width = img.width canvas.height = img.height var ctx = canvas.getContext('2d') // 将img中的内容画到画布上 ctx.drawImage(img, 0, 0, canvas.width, canvas.height) // 将画布内容转换为base64 var base64 = canvas.toDataURL() // 创建a链接 var a = document.createElement('a') a.href = base64 a.download = '' // 触发a链接点击事件,浏览器开始下载文件 a.click() } img.src = url // 必须设置,否则canvas中的内容无法转换为base64 img.setAttribute('crossOrigin', 'Anonymous') },

    2,同源图片下载

     <a :href="http:***.png " download="logo.png"></a>
  • 相关阅读:
    Redis集群搭建步骤
    JS性能优化
    javaweb中实现在线人数统计
    tomcat在linux中启动慢的解决方案
    Redis高可用架构
    bjpowernode课程体系及题库
    java 相关
    码农翻身全年文章精华
    Spring源码深度解析
    PHPSTROM快捷键备份
  • 原文地址:https://www.cnblogs.com/shuihanxiao/p/11834853.html
Copyright © 2011-2022 走看看