一、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. 做.net的早晚会用到,并且网上还没有这方面的正确资料或几乎很少

    原文网址:http://www.cnblogs.com/langu/archive/2012/03/23/2413990.html 一直以来,找安装程序的msi源文件路径得到的都是“system32” ...

  2. html5 之本地数据存储

    HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 cookie与webSt ...

  3. js html 交互监听事件学习

    事件处理程序(handler): HTML事件处理程序: <input type="button" value="Click Here" onclick= ...

  4. 转:LoadRunner中参数化技术详解

    LoadRunner中参数化技术详解 LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提 ...

  5. HDU 2675 Equation Again

    公式转化+二分答案 首先,把题目中给的等式转化一下,变成了这个样子. 等式右边的值是可以求出来的. ln(x)/x的大致图像是这样的 那么只要对[0,e]和[e,+∞]分别进行二分答案即可. #inc ...

  6. VS2013编译FileZilla0.9.44

    2014年,FileZilla更新了一下,到了44版本了,貌似也是用VS2013的工程做的项目,所以下载了server的安装包,然后安装SourceCode即可(需要安装InterFace,是安装必选 ...

  7. JAVA的RSS处理

    一:什么是RSS RSS(really simple syndication) :网页内容聚合器.RSS的格式是XML.必须符合XML 1.0规范. RSS的作用:订阅BLOG,订阅新闻二:RSS的历 ...

  8. 启动ipython notebook(jupyter)

    启动本地notebook 随便找一个shell,在windows里,最简单的cmd.exe就行,键入: ipython.exe notebook

  9. ZOJ 3696 Alien's Organ 概率论 泊松分布

    看了好久的题,但还是看得一脸蒙圈,感觉完全无从下手,我的队友告诉我可能是正太分布之类的,但我感觉不太像,后来才听同学说是泊松分布,才恍然大悟,概率论刚刚学过这里不久,不禁感叹,学会了还要会用啊... ...

  10. Ubuntu 14.04 使用MyEclipse 10.7 闪退解决

    http://www.linuxidc.com/Linux/2014-05/101750.htm