我刚刚完成了一个博客应用,该应用允许用户上传单个图像作为帖子。我正在使用Firestore从Cloud Storage中保存图像链接
final StorageReference postPath.putFile(mainImageURI).addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
@Override
public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
if (task.isSuccessful()){
downloadUri =
task.getResult().getDownloadUrl().toString();
Map<String, Object> map = new HashMap<>();
map.put("image_url", downloadUri);
{
但是,我现在打算允许用户为每个帖子上传多个图像。对我来说,将图像上传到Cloud Storage没问题。但是,如何在Cloud Storage中为一个文档子项保存一系列图像链接。我一直无法弄清楚。请帮忙。
答案 0 :(得分:0)
Firestore具有字段的数组类型。只需使用您要编写的所有URL的字符串填充ArrayList,然后将其作为文档中要存储它的字段的值即可。
答案 1 :(得分:0)
在存储方面,我认为没有文件夹或类似文件之类的“子级别”,但是在Firestore上,您可以按照其他答案的要求进行操作,也可以将链接作为集合添加到任何文档中。基本上使用它们创建字典并像这样添加它们。
答案 2 :(得分:0)
private ArrayList<String> image_urls;
.....
image_urls = new ArrayList<>();
//add your images strings to the array list
// send to firestore with map function
Map<String, Object> map = new HashMap<>();
map.put("image_urls", image_urls);
firebaseFirestore.collection("Posts").add(map).addOnCompleteListener(new OnCompleteListener<DocumentReference>() {
@Override
public void onComplete(@NonNull Task<DocumentReference> task) {
}
});