Java android中未获取Base64图像数据
我正在使用Java android中未获取Base64图像数据,java,android,httpurlconnection,Java,Android,Httpurlconnection,我正在使用HTTPURLConnection连接到服务器,我的响应包含Base64图像数据。当尝试使用getInputStream读取响应时,它没有读取完整的响应,在这两者之间会中断。我的响应包含JSON格式的对象列表,每个对象都包含BASE64图像数据。尝试从第一个对象读取第一个图像数据时读取中断。虽然它没有显示任何错误,但它显示到一半的图像数据。我如何获得完整的响应??这是我的密码 InputStream is = httpURLConnection.getInputStream();
HTTPURLConnection
连接到服务器,我的响应包含Base64
图像数据。当尝试使用getInputStream
读取响应时,它没有读取完整的响应,在这两者之间会中断。我的响应包含JSON格式的对象列表,每个对象都包含BASE64图像数据。尝试从第一个对象读取第一个图像数据时读取中断。虽然它没有显示任何错误,但它显示到一半的图像数据。我如何获得完整的响应??这是我的密码
InputStream is = httpURLConnection.getInputStream();
byte[] b = new byte[1024];
StringBuffer buffer=new StringBuffer();
while ( is.read(b) != -1){
buffer.append(new String(b));
System.out.println("Read= "+is.read());
}
System.out.println(buffer);
您是否尝试过中的示例代码 其中,
readStream
是您自己的方法
从
BufferedInputStream中读取更容易、更快。您是否尝试过来自的示例代码
其中,readStream
是您自己的方法
从BufferedInputStream中读取更容易、更快。由于Base64字符串很长,所以在尝试记录它们时,它可能会被截断。尝试将其保存到文件中。您应该能够看到整个字符串。@EricB。我尝试过这个方法,但得到了相同的结果。现在我得到了更多的数据,但它仍然无法读取。有可能因为Base64字符串很长,所以当您尝试记录它们时,它会被截断。尝试将其保存到文件中。您应该能够看到整个字符串。@EricB。我尝试过这个方法,但得到了相同的结果。现在我得到了一些更多的数据,但它再次无法读取。
URL url = new URL("http://www.android.com/");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try {
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
readStream(in);
} finally {
urlConnection.disconnect();
}