2016-08-09 5 views
0

Ich bin mit Glide für das Laden und Anzeigen von gif:Glide: Wie bekomme ich die spezifische Datei im Cache?

Glide.with(mContext).load(strGifUrl).into(imageView); 

Und ich werde ein „speichern gif“ Feature hinzuzufügen.

Gifs sind so groß, und ich will es nicht wieder zum Download bereit.

Gibt es eine Möglichkeit, die zwischengespeicherte gif-Datei zu erhalten und speichern Sie die Datei in einem anderen Verzeichnis wie der Code unten?

InputStream is = new BufferedInputStream(new FileInputStream(**cachedGifFile**)); 
File savedFile = new File(savedFilePath); 
OutputStream os = new FileOutputStream(savedFile); 
int read = 0; 
byte[] bytes = new byte[1024]; 
while ((read = is.read(bytes)) != -1) { 
    os.write(bytes, 0, read); 
} 
os.close(); 
+0

haben Sie eine Lösung? Ich versuche etwas ähnliches http://stackoverflow.com/questions/38991916/saving-gif-images-in-external-memory-android/38992424#38992424 –

+0

@NibhaJain Ich gebe Glide auf und benutze [** Universal-Image- Loader **] (https://github.com/nostra13/Android-Universal-Image-Loader) und [** android-gif-drawable **] (https://github.com/koral---/android-) gif-drawable) statt. Mit 'ImageLoader.getInstance() getDiskCache() erhalten (imageUri)..' Datei speichern oder in ** android-gif-ziehbar ** – TimmyMa

Antwort

0

Haben Sie dies versucht?

Bitmap bitmap = Glide. 
    with(this). 
    load("YourURL"). 
    asBitmap(). 
    into(100, 100). // Width and height 
    get(); 
+0

laden Ich habe versucht, 'GifDrawable gifDrawable = Glide.with (mContext) .load (imageUri) .asGif(). in (Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) .get(); 'aber was soll ich als nächstes tun? Ich habe ein GifDrawable und wie man es in eine Datei speichert? – TimmyMa

Verwandte Themen