【发布时间】:2011-10-04 11:43:33
【问题描述】:
我正在开发一个 android 应用程序,我必须在其中将位图存储在远程服务器中。 步骤是:
步骤 1: 将位图转换为字节数组并将其从 android 应用程序发送到服务器。我将位图作为 MultipartEntity 发送。在服务器端,我在 doPost() 方法中接收它。
第二步:将字节数组存入mysql数据库。Bitmap存储为blob数据类型。我可以将接收到的字节数组存入mysql数据库。
第3步:检索存储为blob的位图并将其发送回android应用程序。我能够检索blob并转换为字节数组并发送它。
我的问题
问题是从服务器发送的数据是小批量接收的。图像长度为 1380,但以 10's、50's、100's 的可变长度接收。当我将总数加起来时,我只得到 1345,缺少一些字节数据。我在接收端发布代码。
URL url = new URL( "http://10.0.2.2:8080/ServerPartProject/BlobGetter");
URLConnection yc = url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream())); String data;
int val=0;
while((data=in.readLine())!=null){
val=val+data.length(); //The data.length is like 10,20..
}
System.out.println("Total value obtained is "+val);//val was 1345 where it should be 1380
发送结束:
OutputStreamWriter writer = new OutputStreamWriter(response.getOutputStream());
writer.write(senddata);
如何全面接收?
【问题讨论】:
标签: java android mysql servlets blob