【发布时间】:2020-02-06 17:14:51
【问题描述】:
如何将多个图像添加到 Firebase 实时数据库中
我的代码
private void uploadProductToFirebase() {
final StorageReference imageFilePath = ProductImagesRef;
for (int uploadCount = 0; uploadCount<ImageList.size(); uploadCount++){
Uri IndividualImage= ImageList.get(uploadCount);
final StorageReference ImageName = imageFilePath.child(pname);
final int finalUploadCount = uploadCount;
ImageName.putFile(IndividualImage).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
ImageName.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
String url = String.valueOf(uri);
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("ProductImages").child(productkey);
Product product = new Product();
if (finalUploadCount == 0){
product.setImage1(url);
}
else if (finalUploadCount == 1){
product.setImage2(url);
}
else if (finalUploadCount == 2){
product.setImage3(url);
}
databaseReference.setValue(product);
}
});
}
});
}
}
如果我添加这三个图像,则只有第三个图像存储到数据库中。
我应该进行哪些更改才能将 3 张图片上传到 Firebase 存储和 Firebase 实时数据库?
【问题讨论】:
-
实际上它会覆盖前一个,因为您的
imageFilePath保持不变。你能解释一下你想要什么吗? -
我希望将所有三个图像都上传到 firebase 实时数据库
标签: java android firebase firebase-storage