Ich verwende den universellen Bildlader in einer App, die Bilder von einer autorisierten Quelle abrufen muss.Zugriff auf geschützte Bilder im universellen Bildlader
Bisher habe ich die URLConnectionImageDownloader Klasse mit meiner eigenen Klasse erweitert, und die Methode getStreamFromNetwork mit meiner eigenen Implementierung außer Kraft gesetzt, die die Autorisierungsheader im URLConnection Objekt setzt als solche:
public class authURLConnectionImageDownloader extends URLConnectionImageDownloader {
@Override
public InputStream getStreamFromNetwork(URI imageUri) throws IOException {
String auth = Base64.encodeToString(("username" + ":"+"psswd").getBytes(), Base64.NO_WRAP);
URLConnection conn = imageUri.toURL().openConnection();
conn.setRequestProperty("Authorization", "Basic " + auth);
conn.setConnectTimeout(DEFAULT_HTTP_CONNECT_TIMEOUT);
conn.setReadTimeout(DEFAULT_HTTP_READ_TIMEOUT);
return new FlushedInputStream(new BufferedInputStream(conn.getInputStream(), BUFFER_SIZE));
}
und zum Einrichten mein ImageLoader ...
imageLoader = ImageLoader.getInstance();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(MainActivity.this)
.imageDownloader(new authURLConnectionImageDownloader())
.build();
imageLoader.init(config);
Bisher konnte ich es nicht zur Arbeit bringen. Das Bild wird nicht heruntergeladen. Aber noch wichtiger, ich habe einen Breakpoint in getStreamFromNetwork() gesetzt und es wird nie getroffen? Was mache ich falsch?
Dank für Lösung! :) – Sadegh