2016-07-23 4 views
1

Hallo ich versuche, eine Datei aus dem Firebase Storage in den Cache zu laden. Das funktioniert gut. Mein Problem ist, dass ich den gesamten Dateinamen nicht ändern kann. Ich kann nur das Präfix und das Suffix ändern. Dies ist der Dateiname, den ich bekomme.Firebase Storage Android: Wie kann ich den Dateinamen einer heruntergeladenen Datei ändern?

System.out: myImage -1452943744jpg 

Wie kann ich die Zahlen zu entfernen und nur die Dateinamen zu myImage ändern?

Dies ist mein Code:

try { 

     localFile = File.createTempFile("myImage " ,"jpg"); 
     System.out.println(localFile.getName()); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    liftImage.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() { 
     @Override 
     public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) { 
      // Local temp file has been created 
      myBitmap = BitmapFactory.decodeFile(localFile.getAbsolutePath()); 
      myImageView.setImageBitmap(myBitmap); 

     } 

Antwort

4

Wenn Sie das System fordern eine temporäre Datei zu erstellen, generiert es einen eindeutigen Dateinamen das Präfix und Suffix Sie bieten und eine Zeichenfolge verwenden, die den Namen einzigartig macht. In diesem Fall ist die Zeichenfolge das Zahlenfeld, das Sie beobachten, wahrscheinlich abgeleitet von der aktuellen Systemzeit. Wenn Sie die vollständige Kontrolle über den Dateinamen haben möchten, können Sie createTempFile() nicht verwenden.

Stattdessen entscheiden, wo Sie die Datei wollen, wie diese die Datei zu lokalisieren und erstellen:

localFile = new File(XXXX, "myImage.jpg"); 

XXXX eine der Methoden der Context ist, die ein Verzeichnis zurückgibt:

This guide beschreibt einige der Überlegungen für die Verwendung von Cache, interne und externe Speicherung von Dateien.

+0

Vielen Dank. – Dominic

Verwandte Themen