在我的应用程序中,我想让用户添加他们的详细信息和一些图像以保存在FIREBASE数据库中,我尝试使用以下代码上传图像,但是当我上传另一个图像时,它只是覆盖了前一个图像。然后我知道FIREBASE只保存图像的URL,但问题是我无法在PICASSO中保存或缓存图像。
private void uploadImage(){
if(filePath!=null) {
progressDialog.setTitle("file is uploading...");
progressDialog.show();
StorageReference riversRef = mStorageRef.child("databaseImages/image.jpg");
riversRef.putFile(filePath)
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
progressDialog.dismiss();
showToast("file uploaded");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
progressDialog.dismiss();
showToast(exception.getMessage());
}
}).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double progress = (100.0*taskSnapshot.getBytesTransferred()/taskSnapshot.getTotalByteCount());
progressDialog.setMessage(((int)progress)+"% uploaded");
}
})
;
}else{
//display error toast
showToast("please select an image.");
}
}