【发布时间】:2016-09-05 12:41:47
【问题描述】:
我想从 Firebase 存储上传和下载图片,并将其显示在 RecyclerView 中。我可以一次上传和下载一张图片,但不能同时上传多张图片。
我该怎么做?
【问题讨论】:
-
当另一个问题是关于 Swift 时,这是如何重复的?
标签: android firebase firebase-storage
我想从 Firebase 存储上传和下载图片,并将其显示在 RecyclerView 中。我可以一次上传和下载一张图片,但不能同时上传多张图片。
我该怎么做?
【问题讨论】:
标签: android firebase firebase-storage
目前,没有可用的 API 来处理从 Firebase 存储上传或下载的多个文件。
检查以下解决方法:
【讨论】:
private void uploadMultipleFile(final int index){
Uri resultUri=Uri.fromFile(new File(errorImageStoredPaths.get(index)));
StorageReference riversRef = storageReference.child("images/"+resultUri.getLastPathSegment());
UploadTask uploadTask = riversRef.putFile(resultUri);
uploadTask.addOnFailureListener(exception -> {
}).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(@NonNull UploadTask.TaskSnapshot snapshot) {
showLog("Uploading...screens "+index);
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
showLog("Upload screen success");
riversRef.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
uploadedImages.add(uri.toString());
}
});
if((errorImageStoredPaths.size() - 1) != index){
uploadMultipleFile(index+1);
}else {
showLog("All upload over");
uploadToFireStore();
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
showLog("Upload failed");
return;
}
});
}
【讨论】: