一、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. Object-C 自学笔记 - 1

    1.基本变量类型 类型 标示符 输出格式 整形 int %i 浮点 float %f 双精度 double %g 单字符 char %c 以上是基本类型,除此之外还有long, long long i ...

  2. C++虚函数的新用法

    1.今天在segmentfault上看到了一个C++虚函数的新用法,先上代码 #include <iostream> using namespace std; class B { publ ...

  3. selenium2.0集成测试案例

    webDriver模拟点击对web工程测试还是挺方便的. package suite; import java.util.concurrent.TimeUnit; import org.junit.A ...

  4. Shell命令替换与变量替换

    命令替换 命令替换是指Shell可以先执行命令,将输出结果暂时保存,在适当的地方输出.命令替换的语法: `command` 注意是反引号,不是单引号,这个键位于 Esc 键下方.下面的例子中,将命令执 ...

  5. Java中的值栈

    OGNL表示式使用 和 值栈 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts2框架使用OGNL作为默认的表达式 ...

  6. java 线程安全

    要认识java线程安全,必须了解两个主要的点:java的内存模型,java的线程同步机制.特别是内存模型,java的线程同步机制很大程度上都是基于内存模型而设定的. 浅谈java内存模型: 不同的平台 ...

  7. HDU - 4994 Revenge of Nim (取石子游戏)

    Problem Description Nim is a mathematical game of strategy in which two players take turns removing ...

  8. Illegal resource reference: @*android resources are private and not always present

    0:前言 在android开发中,当使用别人的代码的时候,在style.xml中有此种错误 1:解决方案 删除*星号

  9. magento head.phtml 加载<a target=_parent

    <script language="javascript">function alinks(){  var links = document.getElementsBy ...

  10. haar_adaboost_cascade阅读资料

    1,AdaBoost中利用Haar特征进行人脸识别算法分析与总结1——Haar特征与积分图 2,浅谈 Adaboost 算法 3,浅析人脸检测之Haar分类器方法 4,http://wenku.bai ...