下面是我的代码,用于将多个图像上传到Firebase存储。
fileToUpload.putFile(fileUri).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
if (!task.isSuccessful()) { throw Objects.requireNonNull(task.getException()); }
return fileToUpload.getDownloadUrl(); }
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
fileDoneList.remove(finalI);
fileDoneList.add(finalI, "done");
uploadListAdapter.notifyDataSetChanged();
post.child(id).setValue(new Model_Post(id,editText.getText().toString(),
hours,minutes,days,months,years,task.getResult().toString(),
String.valueOf(totalItemsSelected),
ref_id,firebaseUser.getUid()));
p.dismiss(); onBackPressed();
toast_success("Upload post with pictures succeed");
}
else { show_error(); }
}
});
使用此代码,可以成功上传多张图像,但是获取所有图像url均失败。 task.getResult().toString()
仅显示最后一个图像网址。如果我同时上传5张图片,则只能获取第5张图片网址。如何获取图像网址列表并将其上传到Firebase数据库?