java-将大量数据从servlet传输到android应用程序

java-将大量数据从servlet传输到android应用程序,第1张

概述我正在开发一个Android应用程序,其中我必须将位图存储在远程服务器中.步骤如下:步骤1:将位图转换为字节数组并将其从Android应用程序发送到服务器.我将位图作为MultipartEntity发送.在服务器端,我在doPost()方法中接收到它.第2步:将字节数组存储在mysql数据库中.位图存储为blob数据

我正在开发一个Android应用程序,其中我必须将位图存储在远程服务器中.
步骤如下:

步骤1:将位图转换为字节数组并将其从AndroID应用程序发送到服务器.我将位图作为multipartentity发送.在服务器端,我在doPost()方法中接收到它.

第2步:将字节数组存储在MysqL数据库中.位图存储为blob数据类型.我能够将接收到的字节数组存储到MysqL数据库中.

第3步:检索存储为blob的位图并将其发送回androID应用程序.我能够检索blob并将其转换为字节数组并将其发送.

我的问题

问题是从服务器发送的数据是小批量接收的.图像长度为1380,但接收长度为10、50、100的可变长度.当我加总时,我只得到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);

如何全程接收?

解决方法:

不要使用readLine().
您正在使用原始数据.原始数据没有仅文本具有的行.

您的某些字节可能会转换为2字节的unicode字符,这说明您感觉到的数据丢失.

总结

以上是内存溢出为你收集整理的java-将大量数据从servlet传输到android应用程序全部内容,希望文章能够帮你解决java-将大量数据从servlet传输到android应用程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1084027.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存