`

J2ME post方式上传文件

    博客分类:
  • Java
 
阅读更多
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) {

  }

  }
分享到:
评论

相关推荐

    J2ME中多个文件上传

    在J2ME中,对于POST上传,我们首先要设置HttpConnection的Content-Type为"multipart/form-data",这是因为这种编码方式能够携带多个文件和普通表单数据。 multipart/form-data的结构由一系列的part组成,每个part...

    J2MEpost方式上传文件

    ### J2ME Post 方式上传文件详解 #### 一、背景介绍 J2ME(Java 2 Micro Edition)是Sun Microsystems公司为嵌入式设备和移动终端提供的Java平台。随着移动互联网的发展,J2ME逐渐被Android等平台所取代,但在特定...

    J2ME文件上传到服务器

    在J2ME中,实现文件上传到服务器的功能可能会面临一些挑战,因为J2ME的API相对有限且不支持大文件直接上传。下面将详细介绍如何克服这些限制,实现J2ME文件上传到服务器的过程。 首先,我们需要了解J2ME的基础知识...

    j2me 上传图片代码

    这个J2ME上传图片程序的压缩包可能包含以下文件: - 客户端源码:包含J2ME应用程序的.java文件,展示如何选择图片、编码并发送HTTP请求。 - 服务器端源码:可能是Servlet或Java EE相关的.java文件,展示如何接收、...

    http j2me 图片上传

    需要注意的是,J2ME的网络功能受到设备的限制,可能无法支持大文件上传或长连接。因此,在实际开发中,可能需要考虑分块上传、压缩图片以减小数据量,或者使用服务器端的代理服务来处理上传。 7. **res和src目录**...

    J2ME里面的线程和网络

    7. **异步网络操作**:为避免阻塞主线程,J2ME鼓励使用回调或事件驱动的方式处理网络请求,如使用ProgressListener监听下载进度。 8. **网络安全**:J2ME支持SSL/TLS加密,以确保数据在网络中的安全传输。 在实际...

    J2ME拍照上传,附接收页面,友好的传输界面

    在这个场景中,我们讨论的是一个基于J2ME的应用,它允许用户通过设备的内置摄像头拍摄照片并上传到服务器。这个应用的特点是其友好的用户界面和使用HTTP协议进行数据传输。 首先,J2ME拍照功能涉及到对设备硬件的...

    J2ME程序开发全方位基础讲解

    JAR(Java Archive)文件是J2ME应用的标准打包格式,包含所有类文件和资源。jad(Java Application Descriptor)文件则包含了关于应用元数据的信息,如版本、屏幕尺寸需求等。应用通常通过无线下载(OTA,Over The ...

    J2ME的一个网上银行示例Eclipse

    在这个示例中,`HttpConnectionPost`可能涉及到了`HttpConnection`类,用于建立HTTP连接并发送POST请求到服务器,实现数据的上传和下载。 2. **数据库交互**:`bank.mdb`文件可能是一个Micro Edition Persistent ...

    一个J2ME的手机客户端例子..包括发短信,上传图片,与服务器数据同步等.

    开发者需要将图片文件转换为适合传输的格式(如Base64编码),然后通过POST请求将数据发送到服务器。在这个例子中,可能使用了J4ME库来简化这个过程,因为J4ME提供了更方便的UI组件和网络操作工具。 J4ME是一个流行...

    在无线J2ME设备上实现超文本传输协议

    POST请求常用于提交表单数据或上传文件,数据包含在请求体中,而不是像GET请求那样包含在URL中。 在实际的无线网络编程中,J2ME的网络功能虽然简化了,但仍然需要处理网络连接的异步性、错误处理、数据编码解码等...

    WTK_DATA_TRANSFER.ra

    开发者可以创建HTTP、FTP连接,发送GET或POST请求,处理响应,上传或下载数据。 5. **模拟与调试**:WTK的模拟器能模拟多种不同型号的手机,让开发者在真实设备之前测试应用的行为。调试器则可以帮助定位和修复代码...

    OTA下载技术资料编程使用

    - **请求定义**:客户端向服务器发送数据,通常用于提交表单或上传文件。 - **响应定义**:服务器接收并处理数据后,返回处理结果或状态码。 #### 五、与下载协议相关的头字段定义 - **Host**:指定请求的服务器...

    200 PHP sample codeing非常好的PHP学习资料

    3. **文件与目录操作**:如文件读写、文件上传、目录遍历、文件属性获取等。 4. **表单处理**:POST和GET方法的使用,表单验证,提交后的数据处理。 5. **数据库交互**:使用MySQLi或PDO连接数据库,执行SQL查询,...

    servlet-2_3-fcs-spec英文版.pdf

    4. **Multipart Form Data**:对于需要上传文件的应用场景,Servlet 2.3 支持处理包含多个部分的表单数据,使得文件上传变得简单直接。 5. **Internationalization and Localization**:为了支持国际化和本地化...

    Jsp 技术.pdf

    - 展示如何使用JavaBean处理文件上传。 - **自定义标记库设置Applet程序应用**: - 介绍如何创建和使用自定义的JSP标记库。 综上所述,Servlet与JSP技术是构建现代Web应用的核心组成部分。Servlet负责处理来自...

    Google Android SDK开发范例大全(完整版)

    8.11 将手机文件上传至网站服务器——模拟HTTPFORM的POSTACTION 8.12 移动博客发布器——以XML-RPC达成远程过程调用 8.13 移动RSS阅读器——利用SAXParser解析XML 8.14 远程下载安装Android程序——APKInstaller的...

Global site tag (gtag.js) - Google Analytics