Android-如何将图像存储在已创建的Firestore文件夹中

时间:2018-07-05 04:03:19

标签: java android

public void upload() {
    if(imageUri!=null) {
        StorageReference reference=storageReference.child("customers/");
        reference.putFile(imageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                // Toast.makeText(getApplicationContext(),"File Uploaded",Toast.LENGTH_LONG).show();
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_LONG).show();
            }
        }).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
                double totalProgress=(100*taskSnapshot.getBytesTransferred())/taskSnapshot.getTotalByteCount();
                // Toast.makeText(getApplicationContext(),"File uploaded"+(int)totalProgress,Toast.LENGTH_LONG).show();
            }
        });
    }
}

在Firebase存储中,有一个名为“客户”的文件夹,我想在其中存储所选图像。当我尝试上传图像时,它会将其存储为其他文件夹,而不是已创建的文件夹。在这里,“客户”是已经创建的文件夹。

2 个答案:

答案 0 :(得分:0)

尝试从此文件获取文件,这可能是由于对文件夹的错误引用。还显示代码,在何处调用getReference()方法,或者更好地设置对FirebaseStorage的引用。

答案 1 :(得分:0)

ave(1:10, rep(LETTERS[1:3], c(3, 3, 4)), FUN = range)

要检索图像名称,请使用:-

public void upload(String imageName) {
    if(imageUri!=null) {
        StorageReference reference=storageReference.child("customers).child(imageName);
        reference.putFile(imageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                // Toast.makeText(getApplicationContext(),"File Uploaded",Toast.LENGTH_LONG).show();
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_LONG).show();
            }
        }).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
                double totalProgress=(100*taskSnapshot.getBytesTransferred())/taskSnapshot.getTotalByteCount();
                // Toast.makeText(getApplicationContext(),"File uploaded"+(int)totalProgress,Toast.LENGTH_LONG).show();
            }
        });
    }
}
相关问题