一、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的實現真的是太簡潔明了了