用户选择的图片为 selectedImage 。我的程序在其唯一的昵称文件夹下上传用户的图片。例如,如果大卫上传了一张图片,它就会出现在“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());
答案 0 :(得分:2)
要解决此问题,每次将新图片上传到Firebase存储时,都会为用户文件夹下的每个图片生成唯一ID。要实现这一点,您只需使用push()方法即可。来自offical documentation:
创建对自动生成的子位置的引用。
答案 1 :(得分:2)
我开始工作,只是写作
imageRef = storageRef.child(getNickname() + "/pic");