图片下载_图片下载jsp - CSDN
精华内容
参与话题
  • HTML+JS 实现下载图片到本地

    万次阅读 2020-05-13 12:36:48
    标签的新增属性,download属性能让我们指定浏览器下载文件时的默认名称,也就是在客户端重命名下载文件。将download属性添加到<a>链接上,当我们点击这个链接,download属性值里的名称会显示到弹出的...

    1、具体原理

              在HTML5中,download是<a>标签的新增属性,download属性能让我们指定浏览器下载文件时的默认名称,也就是在客户端重命名下载文件。将download属性添加到<a>链接上,当我们点击这个链接,download属性值里的名称会显示到弹出的下载框里,而且download属性能够强制触发下载操作

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

        <a href="girl.jpg" download="beautifulGirl">
          <img src="girl.jpg" alt="">
        </a>

    3、点击a链接后出现下载弹框

     我们会发现下载弹框里的默认文件名是我们写入download的属性值

     

    4、通过JS来触发<a>链接来实现图片下载

        <img id="girlImg" src="girl.jpg" alt="">
        <button class="downloadBtn" type="button" onclick="downloadImg()">下载图片</button>
        function downloadImg(){
            var img = document.getElementById('girlImg'); // 获取要下载的图片
            var url = img.src;                            // 获取图片地址
            var a = document.createElement('a');          // 创建一个a节点插入的document
            var event = new MouseEvent('click')           // 模拟鼠标click点击事件
            a.download = 'beautifulGirl'                  // 设置a节点的download属性值
            a.href = url;                                 // 将图片的src赋值给a节点的href
            a.dispatchEvent(event)                        // 触发鼠标点击事件
         }

    文章每周持续更新,可以微信搜索「 前端大集锦 」第一时间阅读,回复【视频】【书籍】领取200G视频资料和30本PDF书籍资料

    展开全文
  • python代码,可以从百度图片获取给定关键词的所有图片网址,并自动命名下载到一个文件夹中
  • 图片下载download

    2014-07-25 20:25:38
    activity_main.xml  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  tools:context=".MainActivity" > ... 

    activity_main.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity" >


        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="31dp"
            android:src="@drawable/ic_launcher" />


        <ProgressBar
            android:id="@+id/progressBar1"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/imageView1"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="36dp" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/progressBar1"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="29dp"
            android:text="TextView" />


    </RelativeLayout>


    DownLoadUtil.java

    public class DownloadUtil extends AsyncTask<String, Integer, String> {
    private ImageView image;
    private TextView view;
    private ProgressBar bar;
    private Context context;
    private URL url;
    private DataInputStream dis;
    private URLConnection connection;
    private ByteArrayOutputStream baos;
    private int progress_max_value;
    private int progress_current_value;
    private File file;
    private FileOutputStream fos;


    public DownloadUtil(ImageView image, TextView view, ProgressBar bar,
    Context context) {
    super();
    this.image = image;
    this.view = view;
    this.bar = bar;
    this.context = context;
    }


    // 初始化组件,进度条
    @Override
    protected void onPreExecute() {
    // TODO Auto-generated method stub
    super.onPreExecute();
    try {
    URL url = new URL(
    "http://imgt8.bdstatic.com/it/u=2,961490168&fm=19&gp=0.jpg");
    connection = url.openConnection();
    dis = new DataInputStream(connection.getInputStream());
    baos = new ByteArrayOutputStream();
    // 得到图片的大小
    progress_max_value = connection.getContentLength();
    bar.setMax(progress_max_value);
    // 将图片存放在sd卡内
    file = new File("mnt/sdcard/yaya.jpg");
    // 判断file文件是否存在
    if (!file.exists()) {
    file.createNewFile();
    }
    fos = new FileOutputStream(file);
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }


    }


    @Override
    protected String doInBackground(String... params) {
    byte[] b = new byte[1024 * 4];
    int len = 0;
    try {
    while ((len = dis.read(b)) != -1) {
    baos.write(b, 0, len);
    fos.write(b, 0, len);
    publishProgress(len);
    }
    fos.flush();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }


    return baos.toString();
    }


    @Override
    protected void onProgressUpdate(Integer... values) {
    super.onProgressUpdate(values);
    progress_current_value += values[0];
    bar.setProgress(progress_current_value);
    view.setText("当前进度:"
    + ((progress_current_value * 100) / progress_max_value) + "%");


    }


    @Override
    protected void onPostExecute(String result) {
    super.onPostExecute(result);
    byte[] re = baos.toByteArray();
    Bitmap bitmap = BitmapFactory.decodeByteArray(re, 0, re.length);
    image.setImageBitmap(bitmap);
    }


    }


    MainActivity.java

    public class MainActivity extends Activity {
    private ImageView image;
    private TextView view;
    private ProgressBar bar;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();
    initDownLoad();
    }


    private void initDownLoad() {
    DownloadUtil downloadUtil = new DownloadUtil(image, view, bar,
    MainActivity.this);
    downloadUtil.execute(null);


    }


    private void initView() {
    image = (ImageView) findViewById(R.id.imageView1);
    view = (TextView) findViewById(R.id.textView1);
    bar = (ProgressBar) findViewById(R.id.progressBar1);
    }


    }

    展开全文
  • 用python爬虫制作图片下载器(超有趣!)

    千次阅读 多人点赞 2019-11-02 19:27:43
         ...今天给大家分享的是一个适合所有爬虫爱好者训练的一个有趣的项目—百度图片下载器。这个下载器的优势在于,可以根据你自定义关键字的输入,去百度图片上快速的获...

            这几天小菌给大家分享的大部分都是关于大数据,linux方面的"干货"。有粉丝私聊小菌,希望能分享一些有趣的爬虫小程序。O(∩_∩)O哈哈,是时候露一手了。今天给大家分享的是一个适合所有爬虫爱好者训练的一个有趣的项目—百度图片下载器。这个下载器的优势在于,可以根据你自定义关键字的输入,去百度图片上快速的获取相关的图片,并保存在本地,可谓是十分之便捷了~话不多说,直接上代码ヾ(●´∀`●)

    # -*- encoding: utf-8 -*-
    
    """
    @File    : 图片自动下载器(百度图片).py
    @Time    : 2019/10/22 8:38
    @Author  : 封茗囧菌
    @Software: PyCharm
          
          转载请注明原作者
    	  创作不易,仅供分享
    
    """
    import requests
    import re
    import os
    
    #   定义一个变量用来保存下载图片的张数
    i = 1
    
    #  定义下载图片的方法
    def downloadPic(url):
        global i  # 使用global声明这是一个全局变量,方法内无法直接使用全局变量
        html = requests.get(url).text
        pic_url = re.findall('"objURL":"(.*?)",', html, re.S)
    
        for each in pic_url:
            print("正在下载第" + str(i) + "张图片,图片地址:" + each)
    
            try:
                pic = requests.get(each, timeout=5)  # 可能有些图片存在网址打不开的情况,这里设置一个5秒的超时控制
            except Exception:  # 出现异常直接跳过
                print("【错误】当前图片无法下载")
                continue  # 跳过本次循环
    
            #  定义变量保存图片的路径
            string = 'G:/Python/Crawler/百度图片下载器/' + word + "/" + str(i) + ".jpg"
            fp = open(string, 'wb')
            fp.write(pic.content)
            fp.close()
            i += 1
    
    
    if __name__ == '__main__':  # 主程序
        word = input("请输入您想要下载的图片:")
    
        #  先根据搜索的关键字判断存放该类别的文件夹是否存在,不存在则创建
        road = "G:/Python/Crawler/百度图片下载器/" + word
    
        if not os.path.exists(road):
            os.mkdir(road)
    
        #  根据输入的内容构建url列表推导式【前21页内容】
        urls = [
            'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=' + word + '&ct=201326592&v=flip&pn={}'.format(
                str(i)) for i in range(0, 400, 20)]
    
        for url in urls:
            downloadPic(url)
    
        print("下载完成!")
    

            运行效果图如下:
            我们先输入想要查找的关键字,然后回车,切换到指定的目录下,就会发现一张张图片像蜂拥似的出现在你的本地目录上(当然,速度有多快取决于你的网速)。上面的爬虫代码中,小菌设置的是百度图片中大概20页的内容,也就是以前一千两百多张图。小伙伴们可根据需求自行修改。

    在这里插入图片描述在这里插入图片描述
            因为该程序的代码本身比较简单,只要是爬虫爱好者基本都能看得懂,因此小菌就不再详细往下讲。本次的分享就到这里了,有疑惑的小伙伴或者有什么好的建议可以在评论区积极留言,小菌都会尽量回复。认为有帮助的小伙伴们不要忘了点赞,如果再来个关注就更好了(灬°ω°灬)

    展开全文
  • 利用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



    展开全文
  • vue 图片下载到本地,图片保存到本地

    万次阅读 热门讨论 2018-08-13 16:04:07
    必须同源(访问的网站域名与服务器域名一致)才能下载 downs() { var alink = document.createElement("a"); alink.href = this.shop.shoppic_url; alink.download = "pic"; //图片名 a...
  • Html5里面的 标签的 Download 属性可以设置一个值来规定下载文件的名称。所允许的值没有限制,浏览器将自动检测正确的文件扩展名并添加到文件 (.img, .pdf, .txt, .html, 等等), 但是 Download 的兼容性不怎么...
  • 有时候我们需要下载一个有版权或者无版权的图片作为个人使用,但是有些网站是无法直接下载图片的,需要付费购买才行,今天给大家共享一个很简单的方法,只要使用这个网站就可以解决网页需要付费的图片免费下载了;...
  • 超高分辨率图片下载

    2020-07-30 23:32:02
    近来面试的时候被问到一道面试题,是关于超高分辨率图片的读取与显示的。结果在网上找了半天超高分辨率图片资源。太难找了,所以分享出来,仅供学习用。共两张图片:一张是70M, 一张是140M。
  • java根据图片的url地址下载图片到本地 已知图片的url地址,通过java代码下载到本地,直接上代码 package demo; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io....
  • 下载网页所有图片的最简单的方法

    万次阅读 2018-11-16 16:36:47
    下载网页所有图片的最简单的方法
  • 使用SDWebImage直接下载图片

    万次阅读 2016-12-16 11:23:31
    1.调用单例SDWebImageManager.sharedManager的如下方法直接下载图片,使用该方法的话,completedBlock里面有下载到的图片UIImage: - (id)downloadImageWithURL:(NSURL*)url options:(SDWebImageOptions)...
  • Python 下载图片的三种方法

    万次阅读 多人点赞 2018-07-11 15:14:17
    import os os.makedirs('./image/', exist_ok=True) IMAGE_URL = "... def urllib_download(): from urllib.request import urlretrieve...
  • js实现给定图片路径自动下载

    万次阅读 2018-08-03 11:46:05
    js实现图片自动下载 1.添加img标签 &amp;lt;img id='downImg' src='' style='display: none;' /&amp;gt; 2.调用方法download //图片路径 var src = './1.png'; //下载保存文件名 var imgname = ...
  • vue实现点击下载图片到本地

    万次阅读 2019-02-15 16:36:58
    二维码图片" style="width:60%;"&gt; &lt;span @click="downloadCodeImg()"&gt;&lt;/span&gt; 2、引入图片 import codeIMG from '@/assets/code.jpg'; 3、data中...
  • httpClient批量下载图片

    万次阅读 2020-04-19 22:04:36
    package cn.itcast.springboot.javaconfig.test; import java.io.File; import java.io.IOException; import java.io.InputStream; import org.apache.commons.io.FileUtils; import org.apache....i...
  • 哪里能下载到bmp格式的图片

    万次阅读 2018-06-13 07:21:12
    如果你电脑里已经有图片了,那你就右击你的图片--打开方式--画图,打开图片后再点文件--另存为,把保存类型改为bmp格式就可以了,如果。要网上下的话很多写着是bmp,下载下来还是JPG什么的,气!学到了学到了...
  • java根据图片路径下载图片并保存到本地目录
  • a标签实现下载图片功能

    万次阅读 2018-03-15 16:33:10
    下载 a标签的href属性用于指定超链接目标的 URL,只是能在新页面打开图片 要想实现a标签点击下载图片功能,只需加个download属性
  • js保存图片到手机相册(ios与android通用)

    万次阅读 热门讨论 2018-04-03 12:09:24
    1、将图片上传到后台,拷贝链接。2、Downloader模块管理网络文件下载任务,用于从服务器下载各种文件,并支持跨域访问操作。通过plus.downloader获取下载管理对象。Downloader下载使用HTTP的GET/POST方式请求下载...
1 2 3 4 5 ... 20
收藏数 713,227
精华内容 285,290
关键字:

图片下载