• 从url下载图片--java与python实现方式比较


    一、java的实现方式

    1. 首先读取图片
    Java代码  收藏代码
    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.     }  
    Java代码  收藏代码
    1. //如果需要设置connection里的一些属性,譬如RequestProperty,则采用方式二:  
    2. private static BufferedImage read(String imageUrl) throws IOException {  
    3.         URL url = new URL(imageUrl);  
    4.   
    5.         HttpURLConnection conn = (HttpURLConnection) url.openConnection();  
    6.         //conn.setRequestProperty("Referer", referer);  
    7.         conn.setRequestMethod("GET");  
    8.         BufferedImage image = ImageIO.read(conn.getInputStream());  
    9.         return image;  
    10.   
    11. }  

       2. 然后保存图片

    Java代码  收藏代码
    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.   
    6.         ImageIO.write(image, "jpg", outStream);  
    7. ImageIO.write(image, "gif", outStream);  
    8. ImageIO.write(image, "png", outStream);  
    9. ImageIO.write(image, "jpeg", outStream);  
    10. }  

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

    Java代码  收藏代码
    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. 一行代码搞定图片读取和保存
    Python代码  收藏代码
    1. from urllib import urlretrieve  
    2. urlretrieve(‘http://img.chetx.com/chetxbbs/2005_04/09/1113039370066.gif’, ‘e://mypicture.gif’)  

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

    Python代码  收藏代码
    1. import imghdr  
    2. imghdr.what(‘mypicture.gif')  

    三、总结

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

  • 相关阅读:
    Thymeleaf+Spring使用自己的工具类
    bootstrap 响应式布局
    bootstrap 流布局
    bootstrap 布局
    bootstrap 新建网页
    quick 定时更新函数
    acm hdoj 1157
    acm hdoj 今年暑假不ac
    quick removeTileMaptile
    quick schedule 的添加和移除
  • 原文地址:https://www.cnblogs.com/donaldlee2008/p/5719216.html
Copyright © 2020-2023  润新知