一、java的实现方式

  1. 首先读取图片
  1. //方式一:直接根据url读取图片
  2. private static BufferedImage read(String imageUrl) throws IOException {
  3. URL url = new URL(imageUrl);
  4. BufferedImage image = ImageIO.read(url);
  5. return image;
  6. }
  1. //如果需要设置connection里的一些属性,譬如RequestProperty,则采用方式二:
  2. private static BufferedImage read(String imageUrl) throws IOException {
  3. URL url = new URL(imageUrl);
  4. HttpURLConnection conn = (HttpURLConnection) url.openConnection();
  5. //conn.setRequestProperty("Referer", referer);
  6. conn.setRequestMethod("GET");
  7. BufferedImage image = ImageIO.read(conn.getInputStream());
  8. return image;
  9. }

2. 然后保存图片

  1. private static void save(BufferedImage image, String destImageUrl)
  2. throws IOException {
  3. File imageFile = new File(destImageUrl);
  4. FileOutputStream outStream = new FileOutputStream(imageFile);
  5. ImageIO.write(image, "jpg", outStream);
  6. ImageIO.write(image, "gif", outStream);
  7. ImageIO.write(image, "png", outStream);
  8. ImageIO.write(image, "jpeg", outStream);
  9. }

3. 如何获取图片的类型(jpg、Jpeg、gif、png等)

  1. public static String get(byte[] imageBT) throws IOException {
  2. String type = "";
  3. MemoryCacheImageInputStream mcis = null;
  4. try {
  5. mcis = new MemoryCacheImageInputStream(new ByteArrayInputStream(
  6. imageBT));
  7. Iterator<ImageReader> it = ImageIO.getImageReaders(mcis);
  8. while (it.hasNext()) {
  9. ImageReader reader = (ImageReader) it.next();
  10. return reader.getFormatName();
  11. }
  12. } finally {
  13. if (mcis != null) {
  14. try {
  15. mcis.close();
  16. } catch (IOException ioe) {
  17. }
  18. }
  19. }
  20. return type;
  21. }

二、python如何实现

  1. 一行代码搞定图片读取和保存
  1. from urllib import urlretrieve
  2. urlretrieve(‘http://img.chetx.com/chetxbbs/2005_04/09/1113039370066.gif’, ‘e://mypicture.gif’)

2. 一行代码搞定图片类型获取

  1. import imghdr
  2. imghdr.what(‘mypicture.gif')

三、总结

相比于Java,python的实现真的是太简洁明了了

从url下载图片--java与python实现方式比较的更多相关文章

  1. JAVA 通过url下载图片保存到本地

    //java 通过url下载图片保存到本地 public static void download(String urlString, int i) throws Exception { // 构造U ...

  2. C++根据图片url下载图片

    需要使用到URLDownloadToFile()函数,该函数在头文件<urlmon.h>中声明. URLDownloadToFile()函数的定义如下: HRESULT URLDownlo ...

  3. python实现通过URL下载图片到本地服务器

    import os import urllib.request image_url = 'http://img.jingtuitui.com/759fa20190115144450401.jpg' f ...

  4. QT通过url下载图片到本地

    /* strUrl:下载图片时需要的url strFilePath:下载图片的位置(/home/XXX/YYY.png) */ void ThorPromote::downloadFileFromUr ...

  5. 根据URL地址获取对应的HTML,根据对应的URL下载图片

    核心代码(获取HTML): #region 根据URL地址获取信息GET public static String GetResult(string url) { return GetResult(u ...

  6. js 根据url 下载图片

    downloadIamge(imgsrc, name) {//下载图片地址和图片名 let image = new Image(); // 解决跨域 Canvas 污染问题 image.setAttr ...

  7. js 根据url 下载图片 前端js 实现文件下载

    1.H5 download属性 function downFile(content, filename) { // 创建隐藏的可下载链接 var eleLink = document.createEl ...

  8. 根据URL下载图片到本地

    /// <summary> /// 下载图片 /// </summary> /// <param name="picUrl">图片Http地址& ...

  9. Java依据Url下载图片

    package com.ronniewang.downloadpicture; import java.io.DataInputStream; import java.io.File; import ...

随机推荐

  1. iOS 10推送通知开发

    原文地址:Developing Push Notifications for iOS 10,译者:李剑飞 虽然通知经常被过度使用,但是通知确实是一种获得用户关注和通知他们需要更新或行动的有效方式.iO ...

  2. 转 dos 下的 find 和 重定向

    1.find /i "ora-" *.* > check.log 附录: 我对findstr是如此的依赖,以至于当我向各位讲解find命令的时候,我还得老老实实地在cmd窗口 ...

  3. OpenLayer 3 鹰眼控件和全屏显示

    <body> <div id="map"></div> <script> var map=new ol.Map({ target:& ...

  4. Linux标准目录

    本文参考鸟哥的linux私房菜 /bin 获得最小的系统可操作性所需要的命令 /boot 内核和加载内核所需要的文件 /dev 终端.磁盘.调制解调器等的设备项 /etc 关键的启动文件和配置文件 / ...

  5. merge 语句的语法

    /*Merge into 详细介绍 MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句. 通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询, 连接条 ...

  6. android执行外部命令、检测文件是否存在、自动检测U盘路径

    private final String UDiskFileName = "/2969_logo/bootfile.image"; private final String Loc ...

  7. ElasticSearch — 集群搭建

    1.es需要java环境,故先检查java环境是否正常 2.下载elasticsearch安装包 http://www.elasticsearch.org/download/ 目前最新版本到1.4.0 ...

  8. cocos2d-x 3.x 触摸事件

    HelloWorldScene.h bool touchBegan(cocos2d::Touch*touch, cocos2d::Event*event);//触摸开始,返回bool类型 void t ...

  9. EnglishWords----1

    upon在...上面 upright垂直的,直立的 upward向上的 outward外面的,向外的 downward向下的 vertical垂直的 parallel平行的 sow播种 cut切 ch ...

  10. webapp之路--meta标签format-detection、apple-mobile-web-app-capable

    1. format-detection翻译成中文的意思是“格式检测”,顾名思义,它是用来检测html里的一些格式的,那关于meta的format-detection属性主要是有以下几个设置: meta ...