【发布时间】:2019-06-13 12:36:12
【问题描述】:
我正在尝试使用 for 循环上传多张图片。我已将我所有的 fileuri 都放在一个列表中,在完成任务时,只有最后一张图片被上传了几次。
如果我要上传五张图片,那么最后一张图片会上传五次。
我还尝试将所有任务添加到列表中并循环播放。但仍然只有最后一张图片正在上传。
foreach(imgurl){
final StorageReference storageReference = mStorageReference.child("/photos" + "/photo" + (count + 1));
UploadTask uploadTask = storageReference.putFile(imgUrl);
Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
if (!task.isSuccessful()) {
throw task.getException();
}
return storageReference.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
Uri downloadUri = task.getResult();
addPhoto(downloadUri.toString());
} else {
Log.d(TAG, "onFailure: Photo upload failed.");
Toast.makeText(mContext, "Photo upload failed ", Toast.LENGTH_SHORT).show();
}
}
});
}
}
【问题讨论】:
-
在此线程stackoverflow.com/questions/37769701/…Cheers 上回答了类似的问题
-
如果我也尝试过,但只有最后一张图片被上传了几次..@GbadegesinTaiwo
标签: android firebase firebase-storage