2013-03-11 85 views
1

我在Android中實現了POST請求,並上傳了一張圖片以成功地進行服務。HttpURLConnection的setRequestProperty函數

我沒有使用setRequestProperty函數;但是我想知道這個函數的效果是什麼。

這是代碼:

URL url = new URL("http://192.168.191.104:8080/myapp/servlet/MyServlet"); 
HttpURLConnection connection = ((HttpURLConnection) url 
     .openConnection()); 
connection.setDoInput(true); 
connection.setDoOutput(true); 
connection.setUseCaches(false); 
connection.setRequestMethod("POST"); 
connection.connect(); 
OutputStream out = connection.getOutputStream(); 
int len; 
byte[] buffer = new byte[1024]; 
// 讀取文件 
FileInputStream fileInputStream = new FileInputStream(Environment 
     .getExternalStorageDirectory().getAbsolutePath() + "/123.jpg"); 
while ((len = fileInputStream.read(buffer, 0, 1024)) != -1) { 
    out.write(buffer); 
} 
out.flush(); 
out.close(); 
fileInputStream.close(); 
InputStream input = connection.getInputStream(); 
while ((len = input.read(buffer)) != -1) { 
    Log.i("tag", "data:" + new String(buffer, 0, len)); 
} 
input.close(); 
connection.disconnect(); 

誰能解釋調用setRequestProperty功能的HttpURLConnection的效果?

回答

1

主要是用來調用setRequestProperty設置下面的東西按要求

connection.setRequestProperty("Connection", "Keep-Alive"); 
connection.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary); 

Connection.setRequestProperty("Content-Type", "text/plain; charset=utf-8"); 

有時它成爲必要的,你必須指定內容類型爲連接。

+2

如何發送其他變量。? – 2014-05-08 12:11:10

0

設置指定請求標頭字段的值。該值只會被當前的URLConnection實例使用。該方法只能在連接建立之前調用。

More Details