Reputation: 409
I achieve the POST request in Android and upload a picture to service successful.
I did not use the setRequestProperty function; But I want to know what the effect about this function is.
This is the code:
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();
Could anyone explain the effect of setRequestProperty function in HttpURLConnection?
Upvotes: 1
Views: 18870
Reputation: 13805
Mainly setRequestProperty is used to set below things as per the requirement
connection.setRequestProperty("Connection", "Keep-Alive");
connection.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary);
or
Connection.setRequestProperty("Content-Type", "text/plain; charset=utf-8");
Sometimes it become necessary that you have to specify Content-type for the connection.
Upvotes: 1
Reputation: 2928
Sets the value of the specified request header field. The value will only be used by the current URLConnection instance. This method can only be called before the connection is established.
Upvotes: 0