2016-07-23 74 views
1

您好,我正在尝试将文件从Firebase存储下载到缓存中。这工作正常。我的问题是我无法更改整个文件名。我只能更改前缀和后缀。这是我得到的文件名。Firebase Storage Android:如何更改下载文件的文件名?

System.out: myImage -1452943744jpg 

如何我可以删除的数字,只是更改文件名以MYIMAGE

这是我的代码:

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); 

     } 

回答

4

当你请求系统创建一个临时文件,它会生成使用您提供的前缀和后缀,使该名称唯一的字符串唯一的文件名。在这种情况下,字符串是您观察的数字字段,可能是从当前系统时间导出的。如果要完全控制文件名,则不能使用createTempFile()

相反,决定要在其中位于该文件并创建像这样的文件:

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

其中XXXX是的Context方法之一,它返回一个目录:

This guide描述了一种使用高速缓存,内部和外部文件存储的一些考虑。

+0

非常感谢。 – Dominic