Java 我正在将图像上载到Firebase存储,然后我需要将图像URL作为文本添加到Firebase数据库中

Java 我正在将图像上载到Firebase存储,然后我需要将图像URL作为文本添加到Firebase数据库中,java,android,firebase-realtime-database,Java,Android,Firebase Realtime Database,我有一个模型类,它的名称是(餐厅)我想添加餐厅的详细信息,如餐厅的地址和名称,并在Firebase存储中上载图像,在Firebase数据库中上载详细信息,然后我需要将图像URL作为文本添加到Firebase数据库中 //这里我正在上传图片 public void uploadImg() { if (filePath != null) { pd.show(); //for random name image

我有一个模型类,它的名称是(餐厅)我想添加餐厅的详细信息,如餐厅的地址和名称,并在Firebase存储中上载图像,在Firebase数据库中上载详细信息,然后我需要将图像URL作为文本添加到Firebase数据库中

//这里我正在上传图片

public void uploadImg() {
        if (filePath != null) {
            pd.show();

            //for random name image
            StorageReference childRef = storageRef.child(System.currentTimeMillis() + "_mas.jpg");

            //uploading the image
            UploadTask uploadTask = childRef.putFile(filePath);

            uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                    pd.dismiss();
                    Toast.makeText(getApplicationContext(), "Upload successful", Toast.LENGTH_SHORT).show();
                }
            }).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    pd.dismiss();
                    Toast.makeText(getApplicationContext(), "Upload Failed -> " + e, Toast.LENGTH_SHORT).show();
                }
            });
        } else {
            Toast.makeText(getApplicationContext(), "Select an image", Toast.LENGTH_SHORT).show();
        }

    }
public void uploadImg(){
if(filePath!=null){
pd.show();
//对于随机名称图像
StorageReference childRef=storageRef.child(System.currentTimeMillis()+“_mas.jpg”);
//上传图像
UploadTask UploadTask=childRef.putFile(文件路径);
uploadTask.addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
pd.解散();
Toast.makeText(getApplicationContext(),“上载成功”,Toast.LENGTH\u SHORT.show();
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
pd.解散();
Toast.makeText(getApplicationContext(),“上载失败->”+e,Toast.LENGTH\u SHORT.show();
}
});
}否则{
Toast.makeText(getApplicationContext(),“选择图像”,Toast.LENGTH\u SHORT.show();
}
}

上传完成后,在
onSuccess
中,您必须像这样从Firebase存储获取下载url

childRef.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
    @Override
    public void onSuccess(Uri uri) {
        // Got the download uri
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle any errors
    }
});
childRef.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
    @Override
    public void onSuccess(Uri uri) {
        // Got the download uri
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle any errors
    }
});
dbRef.child("Res_imageURL").setValue(uri.toString())