精华内容
下载资源
问答
  • JS 实现图片下载

    万次阅读 2019-07-23 10:58:38
    标签属性,但在IE低版本浏览器中不识别此属性,需要区分浏览器并针对性处理,还有就是如果动态的更新图片下载地址,浏览器的安全机制会阻止触发点击事件。下面来看示例 定义和用法 download 属性定义了下载链接的...

     download 属性是HTML5中新增的 <a> 标签属性,但在IE低版本浏览器中不识别此属性,需要区分浏览器并针对性处理,还有就是如果动态的更新图片下载地址,浏览器的安全机制会阻止触发点击事件。下面来看示例

    定义和用法

    download 属性定义了下载链接的地址。

    href 属性必须在 <a> 标签中指定。

    属性同样可以指定下载文件的名称。文件名称没有限定值,浏览器会自动在文件名称末尾添加该下载文件的后缀 (.img, .pdf, .txt, .html, 等)。

    通过<a>链接来实现图片下载

        <a href="down.jpg" download="downImage">
          <img src="down.jpg" alt="">
        </a>

    这只是简单的示例,如果要通过ajax动态获取下载地址并触发下载时就会有问题。

    
    <!DOCTYPE html>
    <html lang="en">
    <div>
    <table id="userTable" class="table" data-loading="userLoading">
            <thead>
                 <tr>
                      <th>图片名称</th>
                      <th>操作</th>
                 </tr>
             </thead>
                 <tbody>
                    <tr>
                     <td>测试图片</td>
                    <td class="itemActions" data-id=8>                          
                        <a class="btn btn-table down" title="下载" >下载</a>
                    </td>
                  </tr>
                 </tbody>
    </table>
    <div>
    </html>
    <script>
    
        // 下载
        $("#userTable tbody").on('click', '.itemActions .down', function () {
            var id = $(this).parent().data('id');
            axios.post('后台接口地址', {
                id: id,
            }).then(x => {
                if (x.data.success) {
                    let imageUrl = x.data.instance;
                    if (browserIsIe()) {
                        //调用创建iframe的函数
                        createIframe(imageUrl);
                    } else {                   
                        //创建原生a标签实现动态Img地址及下载触发 
                       let tempa= document.createElement('a');
                       tempa.href=imageUrl;
                       tempa.download='download';
                       document.body.append(tempa);
                       tempa.click();
                       tempa.remove();                                   
                    }
                } else {
                    $.growl.error({
                        message: x.data.errorMsg,
                    });
                }
            })
        });
    
       //判断是否为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");
            }
        }
    </script>

     

    展开全文
  • 浏览器图片下载(而不是直接在页面打开图片) 项目中出现了用户要下载图片的情况,做完了功能之后发现根本下载不了,都是直接在浏览器打开了,搜了好久才找到方法 代码如下 function downloadIamge(imgsrc, name) {...

    浏览器图片下载(而不是直接在页面打开图片)

    项目中出现了用户要下载图片的情况,做完了功能之后发现根本下载不了,都是直接在浏览器打开了,搜了好久才找到方法

    代码如下

     function downloadIamge(imgsrc, name) {
        //下载图片地址和图片名
        var image = new Image();
        // 解决跨域 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);
            var _dataURL = canvas.toDataURL('image/png'); //得到图片的base64编码数据
    
            var blob_ = dataURLtoBlob(_dataURL); // 用到Blob是因为图片文件过大时,在一部风浏览器上会下载失败,而Blob就不会
    
            var url = {
                name: name || "图片.png", // 图片名称不需要加.png后缀名
                src: blob_
            };
    
            if (window.navigator.msSaveOrOpenBlob) {   // if browser is IE
                navigator.msSaveBlob(url.src, url.name);//filename文件名包括扩展名,下载路径为浏览器默认路径
            } else {
                var link = document.createElement("a");
                link.setAttribute("href", window.URL.createObjectURL(url.src));
                link.setAttribute("download", url.name + '.png');
                document.body.appendChild(link);
                link.click();
            }
        };
        image.src = imgsrc;
    
        function dataURLtoBlob(dataurl) {
            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
            while (n--) {
                u8arr[n] = bstr.charCodeAt(n);
            }
            return new Blob([u8arr], {type: mime});
        }
    }
    
    展开全文
  • 小程序图片下载

    千次阅读 2019-07-09 19:59:46
    小程序图片下载 在开发小程序中,有时候在小程序中有很多漂亮的图片,用户想要下载,但是长按保存没效果,截图?又显得太low,所以,给用户个好的体验,给用户进行图片下载的功能。 如下所示,在页面触发这个方法...

    小程序图片下载

    在开发小程序中,有时候在小程序中有很多漂亮的图片,用户想要下载,但是长按保存没效果,截图?又显得太low,所以,给用户个好的体验,给用户进行图片下载的功能。
    如下所示,在页面触发这个方法就可以,红色区域的就是图片的路径。
    在这里插入图片描述
    效果图如下:
    在这里插入图片描述

     bindseaveimage:function(){
        wx.getImageInfo({
          src: this.data.imagecode,//这里放你要下载图片的数组(多张) 或 字符串(一张) 下面代码不用改动
          success: function (ret) {
            var path = ret.path;
            wx.saveImageToPhotosAlbum({
              filePath: path,
              success(result) {
                console.log("成功");
                wx.hideLoading();
                wx.showToast({
                  title: '下载图片成功',
                  duration: 2000,
                  mask: true,
                });
              },
              fail(result) {
                console.log("失败,你取消了" + JSON.stringify(result))
                console.log(path);
                wx.openSetting({
                  success: (res) => {
                    console.log(res);
                  }
                })
              }
            });
          }
        });
      }
    
    展开全文
  • 利用a标签的download属性实现图片下载 代码 &amp;lt;img src=&quot;../download/img/test.jpg&quot; alt=&quot;&quot;&amp;gt; &amp;lt;a href=&quot;../download/img/test.jpg &...

    利用a标签的download属性实现图片下载

    代码

     <img src="../download/img/test.jpg" alt="">
     <a href="../download/img/test.jpg " download=""> 下载 </a>
    

    说明:
    a标签的href: 指向需要下载的图片的路径
    download :添加上之后,默认下载图片,而不是浏览图片,他的属性值为下载图的名称,可选

    弱点:
    很多时候,会不兼容,导致直接打开图片,而不会下载

    目前测试download可以直接下载的有:

    xlsx表格文件
    zip压缩包

    目前已经遇到无法直接下载,或者不稳定是否可以下载的

    在线图片
    .txt文件



    将链接地址字符内容转变成blob地址,用js实现图片下载

    代码:

    	<a>下载</a>
    	
        <script>
            var url =
                'https://gss0.bdstatic.com/5bVWsj_p_tVS5dKfpU_Y_D3/res/r/image/2018-12-17/fc54f3e21b5ceb71e262b5186d8e9f40.jpg'
            let a = document.querySelector('a')
            a.onmouseover = function () {  
                //这里如果直接用click事件的话,第一次点击是将url转成blob地址,
                //第二次点击才会下载,所以这里改为mouseover,而a的点击事件依然有效
                
                fetch(url).then(res => res.blob()).then(blob => {   // 将链接地址字符内容转变成blob地址
                    a.href = URL.createObjectURL(blob);
                    a.download = 'test.jpg';
                    document.body.appendChild(a);
                });
            }
        </script>
    

    缺点:
    根据目前的方法,以及个人的测试,这个方法目前只支持下载以"http" 或者 "https"请求的图片,否则会报:
    . URL scheme must be “http” or “https” for CORS request



    展开全文
  • 解决方案1:前端在a标签加入download指定图片下载,但是有兼容性,并且限制也比较多 解决方案2:使用浏览器自带指令 SaveAs 来下载图片,但是这个指令兼容IE 解决方案3:后端返回图片流时,请求头需要加上 Content-...
  • 前端实现图片下载功能

    万次阅读 2018-12-18 14:00:15
    &lt;a href="... download=""&gt;下载图片&...前段日子需要做一个图片下载的功能,本想使用的a标签的download属性就能实现,可是在谷歌浏览器点击按钮图片还是一直只能预览无法直接...
  • 用python爬虫制作图片下载器(超有趣!)

    千次阅读 多人点赞 2019-10-29 20:31:34
         ...今天给大家分享的是一个适合所有爬虫爱好者训练的一个有趣的项目—百度图片下载器。这个下载器的优势在于,可以根据你自定义关键字的输入,去百度图片上快速的获...
  • python-网络图片下载(两种方式)

    万次阅读 2018-03-28 15:43:22
    利用python进行网络图片下载(两种方式)1:方式一 1:代码# coding=utf-8 """ @author: jiajiknag 程序功能: 图片批量下载_方式01 """ # 导入re模块,直接调用来实现正则匹配 import re # 导入请求模块 # 具体请...
  • java超简单的图片下载

    万次阅读 2019-08-12 20:01:29
    超简单的图片下载 学习记录 1.代码如下 注意:下文中的path 路径如无特别需求的情况下建议采用路径+时间戳命名, 如一定要用绝对路径+文件名命名的话,一定得要有一个图片在文件内供替换/覆盖才能下载成功要不然会...
  • 微信小程序实现图片下载功能

    千次阅读 热门讨论 2020-11-04 23:14:47
    微信小程序如何开发图片下载功能 ** 官方文档不够详细,因此写此博客,希望能解决初学者的一些问题 下面案例可供参考 一.所用到的api介绍(来自官方文档) DownloadTask wx.downloadFile(Object object) 下载文件...
  •  解决方案1:前端在a标签加入download指定图片下载,但是有兼容性,并且限制也比较多  解决方案2:使用浏览器自带指令 SaveAs 来下载图片,但是这个指令兼容IE  解决方案3:后端返回图片流时,请求头需要加上...
  • vue 图片下载到本地,图片保存到本地

    万次阅读 热门讨论 2018-08-13 16:04:07
    必须同源(访问的网站域名与服务器域名一致)才能下载 downs() { var alink = document.createElement("a"); alink.href = this.shop.shoppic_url;...解决图片不同源下载问题: downloadIa...
  • js前端根据链接生成二维码并转成图片下载 依赖于jquery、jquery.qrcode.min.js 1.html <div class="qrcode"></div> <button onclick="downloadClick()">下载二维码</button> 2.js ...
  • chrome图片下载插件

    千次阅读 2018-06-12 12:35:52
    ImageAssistantImageAssistant 用于嗅探、分析网页中图片,提供图片筛选、批量下载等功能,支持在线图片编辑,添加水印,裁剪缩放。点击扩展图标——提取本页图片,自动跳转图片筛选页面:指定图片格式JPG、PNG,...
  • Phonegap Andriod 图片下载到本机.

    千次阅读 2013-07-23 09:01:31
    PhoneGap 提供了下载的功能.下载是一个很有用的功能,可以把图片或文件本地化,提高... var imgurl="图片下载地址"; window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ //getpicn
  • 在浏览网页时,我们会发现一些自己喜欢的图片。当要下载时,却发现下载不了。 别急,仅需简单的三步即可。 一、 ...在浏览器中输入刚才的图片下载地址(注意:最好在浏览器上边的输入框输入,否则...
  • 微信小程序多图下载,之前肯定对单张图片下载了解了。这里就不再多说。 首先,多图下载肯定是用到循环了。那么问题就出在循环这里。在循环里调用单图下载方法。这样就会出现一个问题,就是下载时先遍历完了,然后再...
  • Picasso图片下载缓存库的使用心得

    千次阅读 2015-12-07 15:15:33
    Picasso的使用呢是刚来公司没多久的时候用到的,当时并没有多大的自觉性将其记录下来,促使我要将这个记录下来的原因是,公司的女神姐姐想要用到图片下载缓存库的时候,问我的时候,我发现我记得并不是特别清楚,还...
  • Android图片下载缓存库picasso解析

    万次阅读 多人点赞 2013-11-30 18:35:16
    picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。 picasso使用简单,如下Picasso.with(context).load("http://i.imgur.com/DvpvklR.png")....
  • SpringBoot图片下载

    千次阅读 2018-11-07 10:02:48
    //将数据库存储二进制图片赋值 response.setContentType("image/jpeg");//设置输出流内容格式为图片格式 response.setCharacterEncoding("utf-8");//response的响应的编码方式为utf-8 try { OutputStream ...
  • 后台UI源文件效果预览图片 下载图片资源)

    千次下载 热门讨论 2017-03-19 22:37:57
    后台UI源文件效果预览 最新,登录(图片资源、无源码)
  • 百度图片爬虫为抓包里的thumbURl下载下来链接根本打不开图片。。。。。。。。。如果我想爬百度图片图片。是不是应该抓到那个连接?![![图片说明]...
  • ``` import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream;...import java.net.HttpURLConnection;...图片有3K,但我下载图片只有2K这是为什么呢?
  • 移动端h5图片下载-前端小白初长成

    万次阅读 热门讨论 2018-07-24 20:32:22
    由于最近有朋友问我如何在移动端和PC端最简单地下载图片,本以为很简单还是有很多新手不会。 1.主要是通过a标签的download属性,设置为img,href设置为后端或者当前所需要下载的路径。代码如下: &lt; a ...
  • 解决前端图片下载跨域问题

    千次阅读 2020-01-19 14:26:50
    使用base64方法解决图片跨域不能下载问题
  • java实现图片下载

    千次阅读 2018-12-18 18:38:52
    try { String filename=“tt.jpg”; //当文件名不是英文名的时候,最好使用url解码器去编码一下, ...//将响应的类型设置为图片 response.setContentType(“image/jpeg”); response.setHeader(“Content-Dispositi...
  • 【填坑】小程序遇到的坑 图片下载 downloadfile合法域名 问题: 做一个电商导购平台的小程序,电商的图片需要下载到用户,用作分享。但是微信小程序的downloadfile方法只能下载配置在 downloadfile合法域名里的...
  • 将canvas数组保存function downLoadImage(canvas,name) { var a = document.createElement("a"); a.href = canvas.toDataURL(); a.download = name;...name:保存的图片的名字直接将
  • 把网上电子地图的图片下载到本地. 因为网上电子图片是分缩放级别的,可以直接将所有级别或才定制级别的图片下载下来,会放到相应的文件夹里面.可供使用百度地图引擎的程序直接使用. 不好意思,定这么高的分,...
  • quick coocs2d-x 网络图片下载,自动更新纹理,保存url的md5作为标记。如果本地存在,直接读取本地。 NetSprite.new(url):addTo(self):align(display.CENTER,0,0) require "lfs" local NetSprite = class(...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 893,493
精华内容 357,397
关键字:

图片下载