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