java - 在上传到 Firebase 存储之前重命名图片

标签 java android firebase firebase-storage

用户选择的图片是selectedImage。我的程序将用户的图片上传到他唯一的昵称文件夹下。例如,如果 david 上传了一张图片,它位于“david”文件夹下,但我希望上传的每张图片都具有相同的文件名。目标:如果 david 上传了 1 张图片,然后又上传了另一张图片,则第二张图片将替换第一张图片,因为它们具有相同的文件名。我尝试执行 renameTo 但它上传到 david/imagename/old.jpg

下的新文件夹下

我希望它像这样 david/pic.jpg 就是这样。没有一种解决方案适合我:

public void uploadImage2(){
        String file_path = selectedImage.getLastPathSegment();
        File from = new File(file_path,"old");
        File to = new File("pic");
        from.renameTo(to);
        //create reference to images folder and assing a name to the file that will be uploaded
        imageRef = storageRef.child(getNickname() + "/" + from.getAbsolutePath());

最佳答案

为解决此问题,每次将新图片上传到 Firebase 存储时,为用户文件夹下的每张图片生成一个唯一 ID。为此,您可以简单地使用 push() 方法。来自offical documentation :

Create a reference to an auto-generated child location.

关于java - 在上传到 Firebase 存储之前重命名图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49012017/

相关文章:

javascript - 使用 React Native 的 Firebase 查询未显示在我的屏幕上(但显示在 console.log 上)

swift - Firebase PushViewController 多次推送

java - 在Java中定义静态数组

java - DownloadManager 未在状态栏中显示图标

android - 如何使用 VideoSupportFragment 在 TV Leanback 应用程序中捕获触摸事件以显示视频控件?

android - 在android中插入外部数据库

database - 在 Firestore 中查询没有映射键的文档

java - 插入不保存

java - 如何检查一个类的实例是否可以访问另一个类中的方法?

java - Green Dao 无法初始化 DAOConfig