为了账号安全,请及时绑定邮箱和手机立即绑定

js或者vue中怎么点击下载图片(图片是第三方的url)?

js或者vue中怎么点击下载图片(图片是第三方的url)?

浮云间 2019-03-21 16:48:06
如题:需求是pc后台中,点击按钮下载对应的图片保存到本地,因为图片地址是第三方的url,如果使用标签会造成是打开新页面显示,而不是下载保存到本地,请问有没有其他办法?附:图片地址http://qr.topscan.com/api.php?text=https://code.dddiancan.com/kc_code?tableId=24&storeId=4&appVersion=2
查看完整描述

2 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

*{    padding: 0;    margin: 0;
}img {    display: block;    width: 500px;
}.card{    display: inline-block;    position: relative;    width: 400px;    height: 250px;
}.card img{    width: 100%;
}.card .down_btn_a {    display: inline-block;    position: absolute;    right: 0;    bottom: 0;    width: 100px;    height: 40px;    line-height: 40px;    background-color: #20b1aa;    text-decoration: none;    text-align: center;    color: #fff;
}.card .down_btn_a:hover {    background-color: #ccc;    color: #000;
}

js 代码

//判断是否为Trident内核浏览器(IE等)函数function browserIsIe() {    if (!!window.ActiveXObject || "ActiveXObject" in window){        return true;
    }    else{        return false;
    }
}//创建iframe并赋值的函数,传入参数为图片的src属性值.function createIframe(imgSrc) {    //如果隐藏的iframe不存在则创建
    if ($("#IframeReportImg").length === 0){
        $('<iframe style="display:none;" id="IframeReportImg" name="IframeReportImg" onload="downloadImg();" width="0" height="0" src="about:blank"></iframe>').appendTo("body");
    }    //iframe的src属性如不指向图片地址,则手动修改,加载图片
    if ($('#IframeReportImg').attr("src") != imgSrc) {
        $('#IframeReportImg').attr("src",imgSrc);
    } else {        //如指向图片地址,直接调用下载方法
        downloadImg();
    }
}//下载图片的函数function downloadImg() {    //iframe的src属性不为空,调用execCommand(),保存图片
    if ($('#IframeReportImg').src != "about:blank") {        window.frames["IframeReportImg"].document.execCommand("SaveAs");
    }
}//接下来进行事件绑定var aBtn = $(".card .down_btn_a");if (browserIsIe()) {    //是ie等,绑定事件
    aBtn.on("click", function() {        var imgSrc = $(this).siblings("img").attr("src");        //调用创建iframe的函数
        createIframe(imgSrc);
    });
} else {
    aBtn.each(function(i,v){    //支持download,添加属性.
    var imgSrc = $(v).siblings("img").attr("src");
    $(v).attr("download",imgSrc);
    $(v).attr("href",imgSrc);
    })
}

支持 谷歌 火狐 IE8及以上


查看完整回答
反对 回复 2019-03-21
  • 2 回答
  • 0 关注
  • 517 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信