J2ME post方式上传文件

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) {

  }

  }

你可能感兴趣的:(post)