Firebase 存储 Android:如何更改下载文件的文件名?
Firebase Storage Android: How can I change the the filename of a downloaded file?
您好,我正在尝试将文件从 Firebase 存储下载到缓存中。那很好用。我的问题是我无法更改整个文件名。我只能更改前缀和后缀。这是我得到的文件名。
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);
}
当您请求系统创建临时文件时,它会使用您提供的前缀和后缀以及使名称唯一的字符串生成一个唯一的文件名。在这种情况下,字符串是您观察到的数字字段,可能来自当前系统时间。如果要完全控制文件名,则不能使用 createTempFile()
.
相反,决定文件的位置并像这样创建文件:
localFile = new File(XXXX, "myImage.jpg");
其中 XXXX 是 Context
的方法之一,即 returns 一个目录:
This guide 描述了使用缓存、内部和外部文件存储的一些注意事项。
您好,我正在尝试将文件从 Firebase 存储下载到缓存中。那很好用。我的问题是我无法更改整个文件名。我只能更改前缀和后缀。这是我得到的文件名。
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);
}
当您请求系统创建临时文件时,它会使用您提供的前缀和后缀以及使名称唯一的字符串生成一个唯一的文件名。在这种情况下,字符串是您观察到的数字字段,可能来自当前系统时间。如果要完全控制文件名,则不能使用 createTempFile()
.
相反,决定文件的位置并像这样创建文件:
localFile = new File(XXXX, "myImage.jpg");
其中 XXXX 是 Context
的方法之一,即 returns 一个目录:
This guide 描述了使用缓存、内部和外部文件存储的一些注意事项。