当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
J2MEpost方式上传文件
发布时间:2010/5/13 11:27:02 来源:城市学习网 编辑:ziteng
  public void upload() {
  String name = po.getName(); // file name
  String str = po.getStr()+"/plugins/j2me"; // url
  byte[] raw = snap.getData(); // file data
  String cmd = "uploadpic";
  String auth = po.getUserId();
  String albumId = po.getUserId();
  String type = po.getType();
  String remarks = po.getDemo();
  String[] props = { "cmd","auth","albumId", "public", "remarks" }; //property name
  String[] values = { cmd, auth, albumId, type, remarks }; // property value
  try {
  String BOUNDARY = "---------7d4a6d158c9"; // separate line
  String MULTIPART_FORM_DATA = "multipart/form-data";
  StringBuffer sb = new StringBuffer();
  for (int i = 0; i < props.length; i++) { // send each property
  sb = sb.append("--");
  sb = sb.append(BOUNDARY);
  sb = sb.append("\r\n");
  sb = sb.append("Content-Disposition: form-data; name=\""+ props[i] + "\"\r\n\r\n");
  sb = sb.append(URLEncoder.encode(values[i],"UTF-8"));
  sb = sb.append("\r\n");
  }
  sb = sb.append("--");
  sb = sb.append(BOUNDARY);
  sb = sb.append("\r\n");
  sb = sb.append("Content-Disposition: form-data;name=\"file\";filename=\""+ name + ".jpg\"\r\n");
  sb = sb.append("Content-Type: application/octet-stream\r\n\r\n");
  byte[] data = sb.toString().getBytes();
  byte[] end_data = ("\r\n--" + BOUNDARY + "--\r\n").getBytes();
  HttpConnection hc = (HttpConnection) Connector.open(str,Connector.READ_WRITE); // set HTTP head:
  hc.setRequestProperty("Content-Type", MULTIPART_FORM_DATA + "; boundary=" + BOUNDARY);
  hc.setRequestProperty("Content-Length", String.valueOf(data.length+ raw.length + end_data.length)); //
  //        hc.setRequestProperty("Connection", "keep-alive");
  hc.setRequestMethod(HttpConnection.POST); // out: OutputStream                                            //
  output =hc.openOutputStream();
  output.write(data);
  output.write(raw, 0, raw.length);
  output.write(end_data);
  int cah = hc.getResponseCode();
  if (cah != HttpConnection.HTTP_OK) {
  System.out.println(cah);
  return;
  }
  output.close();
  //receive(hc);
  hc.close();
  } catch (IOException e) {
  } catch (SecurityException e) {
  } catch (NullPointerException e) {
  }
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved