1

我在 Android 中实现了 POST 请求,并将图片上传到服务成功。

我没有使用 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();

谁能解释一下 HttpURLConnection 中 setRequestProperty 函数的作用?

4

2 回答 2

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");

有时,您必须为连接指定 Content-type。

于 2013-03-11T09:34:18.983 回答
0

设置指定请求头字段的值。该值将仅由当前 URLConnection 实例使用。该方法只能在连接建立之前调用。

更多细节

于 2013-03-11T09:27:04.570 回答