用户选择的图片是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/