求助,还是关于Ksoap2-android访问web服务,上传文件(另一个问题)

cslzh1231512 2012-04-28 09:33:53
昨天发了个标题相同的贴
不过,昨天遇到的问题是混淆后速度变慢
这个已经解决了,就是混淆配置中排除Ksoap2-android即可

然后现在的问题是这样的


文件传输方法:byte数组-》base64字符串,再上传,逆向转回

过程中数据量不可避免的增长了1/3(理论值,百度百科给的,肯定比这个大)


Ksoap2-android貌似不能直接传byte数组,除了转字符串有没有其他方法
如果只能转字符串,那有没有不使数据增长的转换方法吗?






...全文
218 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cslzh1231512 2012-04-28
  • 打赏
  • 举报
回复
这贴就这么结了吧
估计没戏了
也没时间折腾
分给你吧
cslzh1231512 2012-04-28
  • 打赏
  • 举报
回复
流量不是问题
问题是太慢
而且这样的方法不能做进度条
网络稍微卡一点的话就会超时
不过,到时候,让客户拉联通的网,手机用联通的3G网,应该不会太纠结
(我测试外网,用的是联通3G,服务器是电信的,不怎么理想)


再要改进的话,估计得使用其他技术,比如服务器上开一个FTP,不过这样权限不好控制
或者用socket通信(这个暂时不考虑,太麻烦)
fire_fire_fire 2012-04-28
  • 打赏
  • 举报
回复
大哥,有道是:死道友不死贫道,费的又不是你的流量,能给他传上去就可以了。嘿嘿。。。
cslzh1231512 2012-04-28
  • 打赏
  • 举报
回复
to 2楼
我也是这么干的
关键是那个蛋疼的base64
体积膨胀的厉害
理论值1/3
我实体机测差不多1/2(海卓冲浪监视的数据量)
然后,手机网络本来就不靠谱,这膨胀一下不是更纠结

再找一下吧
不过,估计没什么希望,也不打算花太多时间,不行就算了
fire_fire_fire 2012-04-28
  • 打赏
  • 举报
回复
除了字符串貌似没有别的方法
我是这么做的:

//bm是bitmap baos是ByteArrayOutputStream
bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
//photodata是String类型,然后将photodata上传,服务器端就是一个byte[] photodata的参数接收
photodata = new String(Base64.encode(baos.toByteArray(),Base64.DEFAULT));

fire_fire_fire 2012-04-28
  • 打赏
  • 举报
回复
FTP我做过,你不要考虑,比这个还慢一些,另外你不可能在主线程里面做这个事吧?我都是在AsyncTask里面做上传,并且显示一个ProgressDialog,用try括起来,传完了或者出错了就控制ProgressDialog消失并且提示
另外你传图片的话最好能够在手机上压缩一下再传,会快一些。

80,493

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧