Http協議Get方式獲取圖片


一、

               image

二、

                  image

      我試了試,Post方式也行啊,干嘛要叫強調Get方式,費解~~

      答曰:get是向服務器請求數據,post是提交數據。

三、

package com.hpu.test;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class HttpUtils {
	// 自定義的web服務器的資源
	private static String URL_PATH = "http://localhost:8080/TestGet/1.jpg";

	public HttpUtils() {
		// TODO Auto-generated constructor stub
	}

	public static void saveImageToDisk() throws IOException {
		InputStream inputStream = getInputStream();
		byte[] data = new byte[1024];
		int len = 0;
		FileOutputStream fileOutputStream = null;
		try {
			fileOutputStream = new FileOutputStream("D:\\p.jpg");
			while ((len = inputStream.read(data)) != -1) {
				fileOutputStream.write(data, 0, len);
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			if (inputStream != null) {
				try {
					inputStream.close();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if (fileOutputStream != null) {
				try {
					fileOutputStream.close();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}

	}

	/**
	 * 獲得服務器端數據,以InputStream形式返回
	 * 
	 * @return
	 * @throws IOException
	 */
	public static InputStream getInputStream() throws IOException {
		InputStream inputStream = null;
		HttpURLConnection httpURLConnection = null;
		try {
			URL url = new URL(URL_PATH);
			if (url != null) {
				httpURLConnection = (HttpURLConnection) url.openConnection();
				// 設置連接網絡的超時時間
				httpURLConnection.setConnectTimeout(3000);
				httpURLConnection.setDoInput(true);
				// 設置本次http請求使用get方式請求
				httpURLConnection.setRequestMethod("GET");
				int responseCode = httpURLConnection.getResponseCode();
				if (responseCode == 200) {
					// 從服務器獲得一個輸入流
					inputStream = httpURLConnection.getInputStream();
				}
			}
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return inputStream;
	}

	public static void main(String[] args) throws IOException {
		// 從服務器獲得圖片保存到本地
		saveImageToDisk();
		System.out.println("傳輸步驟完畢");
	}
}

四、IO學習鏈接

                http://www.cnblogs.com/hxsyl/p/3302852.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM