URL url = new URL(Constant.PRODUCTIMAGE);
imageUrls = new ArrayList();
for (int i = 0; i < mDataList.size(); i++) {
imageItem = new ImageItem();
imageItem = mDataList.get(i);
con = (HttpURLConnection) url.openConnection();
//con.connect();
/* 允许Input、Output,不使用Cache /
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
/ 设置传送的method=POST /
con.setRequestMethod("POST");
/ setRequestProperty /
con.setRequestProperty("Connection", "Keep-Alive");
con.setRequestProperty("Charset", "UTF-8");
con.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
con.connect();
/ 设置DataOutputStream /
ds = new DataOutputStream(con.getOutputStream());
ds.writeBytes(twoHyphens + boundary + end);
ds.writeBytes("Content-Disposition: form-data; " + "name=\"file1\";filename=\"" + newName + "\"" + end);
ds.writeBytes("Content-Type: image/jpeg;image/png;image/gif" + end);
ds.writeBytes(end);
/ 取得文件的FileInputStream /
fStream = new FileInputStream(imageItem.sourcePath);
/ 设置每次写入1024bytes /
int bufferSize = 1024 * 10;
byte[] buffer = new byte[bufferSize];
int length = -1;
/ 从文件读取数据至缓冲区 /
while ((length = fStream.read(buffer)) != -1) {
/ 将资料写入DataOutputStream中 /
ds.write(buffer, 0, length);
}
ds.writeBytes(end);
ds.writeBytes(twoHyphens + boundary + twoHyphens + end);
/ close streams /
fStream.close();
ds.flush();
/ 取得Response内容 */
is = con.getInputStream();
int res = con.getResponseCode();
int ch;
b = new StringBuffer();
while ((ch = is.read()) != -1) {
b.append((char) ch);
}
String obj = b.toString();
JSONObject jsonObject = new JSONObject(new String(obj));
String uri = jsonObject.getString("msg");
imageUrls.add(uri);
ds.close();
con.disconnect();
运行到con.getOutputStream() 出异常 null 如何解决?