求解android中socket通信传输图片问题

bill_shou 2011-06-10 03:47:29
服务器端:
Blob blob_act_pic = DBUtil.getActivityPhotoBlobById(regResult.a_id); //获得活动图片Blob
byte [] buf = blob_act_pic.getBytes(1l, (int)blob_act_pic.length()); //获得字节数组
dout.writeInt(buf.length); //告知客户端数组长度
dout.write(buf,0,buf.length);
dout.flush();

客户端:
int act_photoLength = mc.din.readInt(); //读取相片长度
byte [] buf = new byte[act_photoLength]; //创建相应长度的数组
mc.din.read(buf); //读入图片数据
act_photo = BitmapFactory.decodeByteArray(buf, 0, act_photoLength); //创建Bitmap

现在的问题是,运行模拟器时候,客户端经常无法正确的获取byte,图片无法正常的显示出来,有高手指导下写的哪里有问题?或者提供其他更好的获取服务器上的图片的方式
...全文
1699 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
上不了岸的鱼 2014-01-15
  • 打赏
  • 举报
回复
楼主,虽然时间过去那么久了,不知道你还能不能看到,但是我也是遇到您这种问题了,希望得到您的解答,我是需要将服务端mysql数据库中的blob类型的图片传到android手机端,现在不知道该怎么做,苦恼死了
bill_shou 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 glaivelee 的回复:]

引用 4 楼 bill_shou 的回复:

问题已解决,感谢大家的建议


楼主是采用3楼的方法解决的吗
[/Quote]

其实我那段代码没问题的
glaivelee 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bill_shou 的回复:]

问题已解决,感谢大家的建议
[/Quote]

楼主是采用3楼的方法解决的吗
bill_shou 2011-06-21
  • 打赏
  • 举报
回复
问题已解决,感谢大家的建议
j_f0001 2011-06-13
  • 打赏
  • 举报
回复
一般要将图片转换成base64,然后再把这个base65字符串通过socket发送,对方收到后,再将字符串转换成base64以及相应的图片类型
bill_shou 2011-06-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 birthmark 的回复:]

直接传个图片文件不就完了
[/Quote]
服务器端得图片数据是以BLOG形式保存在数据库中
birthmark 2011-06-10
  • 打赏
  • 举报
回复
直接传个图片文件不就完了

80,351

社区成员

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

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