关于拍照后图片上传

时间:2022-11-16 18:01:02
服务器端是.net的webservices
大概的情况是,android端把图片保存到Bitmap内,将Bitmap转换为数据流byte[],然后把byte[]转换为string字符串通过ksoap2传输到.net webservices内的一个接收string参数的方法里,然后这个方法里面将string转换为.jpg图片。
问题1:我服务器端生成的.jpg文件打不开,文件大小与android端的照片大小不一样。
我推断在转换及上传过程中,string被截断了,导致文件无法打开。
请教:
1.我用手机端传输照片到webservices的方法是string,是不是长度太长而.net被截取了.
2.webservices我post上去的String长度是否有限制?
3.是不是我的思路有问题?有其他更简单的方法么?

5 个解决方案

#1


刚才查了下网上的代码,发现有人是写成string来进行post的!。但是我的问题到底在哪儿啊~

#2


把Bitmap转换成byte后再转成String然后上传,是比较扯淡的做法。
通常的做法是使用multi-part实现上传,稍微有点麻烦,需要写点代码。
所以有人想了个偷懒的办法,把byte流用Base64编码一下,变成一个字符串,然后Post到服务器上。
服务器端把字段用Base64解码获得byte流,存成JPG/PNG。
这种办法小图片可以试试,大图片的话各种性能问题,内存溢出……

#3


求教,我用post上传了图片,httpURLConnection 上传成功后httpURLConnection.getResponseCode()=200,这个信息代表我已经post成功了,为何我的服务器端没有接收到图片。
再问问我,服务器端就是一个普通的文件上传功能页面是不?需要其他特殊处理不?

#4


这取决于后台代码了,不知道后台代码怎么写的没法回答你

#5


非常感谢!确实是后台代码的问题!

#1


刚才查了下网上的代码,发现有人是写成string来进行post的!。但是我的问题到底在哪儿啊~

#2


把Bitmap转换成byte后再转成String然后上传,是比较扯淡的做法。
通常的做法是使用multi-part实现上传,稍微有点麻烦,需要写点代码。
所以有人想了个偷懒的办法,把byte流用Base64编码一下,变成一个字符串,然后Post到服务器上。
服务器端把字段用Base64解码获得byte流,存成JPG/PNG。
这种办法小图片可以试试,大图片的话各种性能问题,内存溢出……

#3


求教,我用post上传了图片,httpURLConnection 上传成功后httpURLConnection.getResponseCode()=200,这个信息代表我已经post成功了,为何我的服务器端没有接收到图片。
再问问我,服务器端就是一个普通的文件上传功能页面是不?需要其他特殊处理不?

#4


这取决于后台代码了,不知道后台代码怎么写的没法回答你

#5


非常感谢!确实是后台代码的问题!