Android中,互联网应用和java里基本一样,也没有什么好说的,但在我测试上传图片时遇到一个问题,先看一段代码:
这段代码的功能是:向一个Servlet发送一张图片,定义了OutputStream和InputStream,其实这里InputStream本用不着,但是如果不执行is=conn.getInputStream(),就发不出数据,不知道这是android的bug,还是规定。
(作者:子轩,邮箱:zh1003@163.com)
[本节结束]
private void uploadImage(String httpUrl) {
try {
OutputStream os = null;
InputStream is = null;
URL url = new URL(httpUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("X-Online-Host", "www.ppice.com");
conn.connect();
os = conn.getOutputStream();
InputStream bmis = getResources().openRawResource(R.drawable.icon);
int i = 0;
while (i != -1) {
i = bmis.read();
os.write(i);
}
bmis.close();
os.flush();
os.close();
is = conn.getInputStream();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
这段代码的功能是:向一个Servlet发送一张图片,定义了OutputStream和InputStream,其实这里InputStream本用不着,但是如果不执行is=conn.getInputStream(),就发不出数据,不知道这是android的bug,还是规定。
(作者:子轩,邮箱:zh1003@163.com)
[本节结束]