从url下载图片--java与python实现方式比较
一、java的实现方式
- 首先读取图片
- //方式一:直接根据url读取图片
- private static BufferedImage read(String imageUrl) throws IOException {
- URL url = new URL(imageUrl);
- BufferedImage image = ImageIO.read(url);
- return image;
- }
- //如果需要设置connection里的一些属性,譬如RequestProperty,则采用方式二:
- private static BufferedImage read(String imageUrl) throws IOException {
- URL url = new URL(imageUrl);
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- //conn.setRequestProperty("Referer", referer);
- conn.setRequestMethod("GET");
- BufferedImage image = ImageIO.read(conn.getInputStream());
- return image;
- }
2. 然后保存图片
- private static void save(BufferedImage image, String destImageUrl)
- throws IOException {
- File imageFile = new File(destImageUrl);
- FileOutputStream outStream = new FileOutputStream(imageFile);
- ImageIO.write(image, "jpg", outStream);
- ImageIO.write(image, "gif", outStream);
- ImageIO.write(image, "png", outStream);
- ImageIO.write(image, "jpeg", outStream);
- }
3. 如何获取图片的类型(jpg、Jpeg、gif、png等)
- public static String get(byte[] imageBT) throws IOException {
- String type = "";
- MemoryCacheImageInputStream mcis = null;
- try {
- mcis = new MemoryCacheImageInputStream(new ByteArrayInputStream(
- imageBT));
- Iterator<ImageReader> it = ImageIO.getImageReaders(mcis);
- while (it.hasNext()) {
- ImageReader reader = (ImageReader) it.next();
- return reader.getFormatName();
- }
- } finally {
- if (mcis != null) {
- try {
- mcis.close();
- } catch (IOException ioe) {
- }
- }
- }
- return type;
- }
二、python如何实现
- 一行代码搞定图片读取和保存
- from urllib import urlretrieve
- urlretrieve(‘http://img.chetx.com/chetxbbs/2005_04/09/1113039370066.gif’, ‘e://mypicture.gif’)
2. 一行代码搞定图片类型获取
- import imghdr
- imghdr.what(‘mypicture.gif')
三、总结
相比于Java,python的实现真的是太简洁明了了
从url下载图片--java与python实现方式比较的更多相关文章
- JAVA 通过url下载图片保存到本地
//java 通过url下载图片保存到本地 public static void download(String urlString, int i) throws Exception { // 构造U ...
- C++根据图片url下载图片
需要使用到URLDownloadToFile()函数,该函数在头文件<urlmon.h>中声明. URLDownloadToFile()函数的定义如下: HRESULT URLDownlo ...
- python实现通过URL下载图片到本地服务器
import os import urllib.request image_url = 'http://img.jingtuitui.com/759fa20190115144450401.jpg' f ...
- QT通过url下载图片到本地
/* strUrl:下载图片时需要的url strFilePath:下载图片的位置(/home/XXX/YYY.png) */ void ThorPromote::downloadFileFromUr ...
- 根据URL地址获取对应的HTML,根据对应的URL下载图片
核心代码(获取HTML): #region 根据URL地址获取信息GET public static String GetResult(string url) { return GetResult(u ...
- js 根据url 下载图片
downloadIamge(imgsrc, name) {//下载图片地址和图片名 let image = new Image(); // 解决跨域 Canvas 污染问题 image.setAttr ...
- js 根据url 下载图片 前端js 实现文件下载
1.H5 download属性 function downFile(content, filename) { // 创建隐藏的可下载链接 var eleLink = document.createEl ...
- 根据URL下载图片到本地
/// <summary> /// 下载图片 /// </summary> /// <param name="picUrl">图片Http地址& ...
- Java依据Url下载图片
package com.ronniewang.downloadpicture; import java.io.DataInputStream; import java.io.File; import ...
随机推荐
- 做.net的早晚会用到,并且网上还没有这方面的正确资料或几乎很少
原文网址:http://www.cnblogs.com/langu/archive/2012/03/23/2413990.html 一直以来,找安装程序的msi源文件路径得到的都是“system32” ...
- html5 之本地数据存储
HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 cookie与webSt ...
- js html 交互监听事件学习
事件处理程序(handler): HTML事件处理程序: <input type="button" value="Click Here" onclick= ...
- 转:LoadRunner中参数化技术详解
LoadRunner中参数化技术详解 LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提 ...
- HDU 2675 Equation Again
公式转化+二分答案 首先,把题目中给的等式转化一下,变成了这个样子. 等式右边的值是可以求出来的. ln(x)/x的大致图像是这样的 那么只要对[0,e]和[e,+∞]分别进行二分答案即可. #inc ...
- VS2013编译FileZilla0.9.44
2014年,FileZilla更新了一下,到了44版本了,貌似也是用VS2013的工程做的项目,所以下载了server的安装包,然后安装SourceCode即可(需要安装InterFace,是安装必选 ...
- JAVA的RSS处理
一:什么是RSS RSS(really simple syndication) :网页内容聚合器.RSS的格式是XML.必须符合XML 1.0规范. RSS的作用:订阅BLOG,订阅新闻二:RSS的历 ...
- 启动ipython notebook(jupyter)
启动本地notebook 随便找一个shell,在windows里,最简单的cmd.exe就行,键入: ipython.exe notebook
- ZOJ 3696 Alien's Organ 概率论 泊松分布
看了好久的题,但还是看得一脸蒙圈,感觉完全无从下手,我的队友告诉我可能是正太分布之类的,但我感觉不太像,后来才听同学说是泊松分布,才恍然大悟,概率论刚刚学过这里不久,不禁感叹,学会了还要会用啊... ...
- Ubuntu 14.04 使用MyEclipse 10.7 闪退解决
http://www.linuxidc.com/Linux/2014-05/101750.htm