这几天研究J2ME图片文件上传,手机上用FileConnection浏览文件夹,读取图片文件,然后提交到服务器上的http接口。
首先采用的是HttpConnection,发送数据(构建文件上传方式也一样),发现数据都被采用了chunked编码,服务端什么内容都获取不到( 这里遇到一个奇怪的问题,用我本机做服务端,即使chunked编码,也能够完整的获取到数据),chunked只有在数据超过2016个字节的时候才会产生。
于是上网搜集资料,发现mingjava的colala实例采用的是将数据切分为1700字节大小,循环上传,直到上传完毕,(这里不知道mingjava是要做进度故意这么做,还是当时也遇到chunked编码的问题才这么做的)。
还有网上讨论的http/1.1 http/1.0的问题,好像也是错误的。因为用socket数据,设置http/1.1 http/1.0结果都是一样的。
此主题相关图片如下:
![]() |
| 图1 |
|
所以只好采用socket,模拟http 协议,上传文件。
此主题相关图片如下:
![]() |
| 图2 |
|
经过测试成功,构建文件上传数据流格式也没有问题....
这样服务端的程序就和web通常的写法一样了。不需要做特殊处理了。
【相关文章】