How to download image file by using okhttpclient in Java
21,994
Solution 1
Try something like this
InputStream inputStream = response.body().byteStream();
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
Solution 2
Maybe it is a bit late to answer the question, but it may helps someone in the future. I prefer always to download photos in background, to do so using OkHttpClient, you should use callback:
final Request request = new Request.Builder().url(url).build();
okHttpClient.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//Handle the error
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()){
final Bitmap bitmap = BitmapFactory.decodeStream(response.body().byteStream());
// Remember to set the bitmap in the main thread.
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
imageView.setImageBitmap(image);
}
});
}else {
//Handle the error
}
}
});
Related videos on Youtube
Author by
user3338304
Updated on July 24, 2022Comments
-
user3338304 almost 2 years
I would like ask how to download image file by using okhttpclient in Java since I need to download the file with session.
here is the code given officially, but I don't know how to use it for downloading as image file.private final OkHttpClient client = new OkHttpClient(); public void run() throws Exception { Request request = new Request.Builder() .url("http://publicobject.com/helloworld.txt") .build(); Response response = client.newCall(request).execute(); if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); Headers responseHeaders = response.headers(); for (int i = 0; i < responseHeaders.size(); i++) { System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i)); } System.out.println(response.body().string()); }
-
dazza5000 about 8 yearsI made a simple sample Android project that shows how to use okhttp to download an image and display the image in an imageview. github.com/dazza5000/OkHttpDownloadImage
-
Nakamoto over 5 yearsSee the sample directly here: github.com/dazza5000/OkHttpDownloadImage/blob/master/app/src/…
-
parsecer over 4 yearsThen what? What type would be method return? How to convert
Bitmap
toImage
?