简体   繁体   中英

In Android, where does the file downloaded from Firebase storage get stored?

I uploaded a file to Firebase Storage from my project console. Now, I downloaded that file from my app using the method ' Download to a local file ' as mentioned in the Firebase Storage documentation, but I am not able to find the downloaded file on my phone.

Can someone tell me where does that file get downloaded to?

    FirebaseStorage firebaseStorage = FirebaseStorage.getInstance();
    final StorageReference storageReference = firebaseStorage.getReferenceFromUrl("gs://ldq-app-d2e6b.appspot.com");

    button_down.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            String fileName = new String(editText_file.getText().toString());

            StorageReference childReference = storageReference.child("Quizzes");

            StorageReference fileReference = storageReference.child("Quizzes/" + fileName + ".pdf");

            File localFile = null;

            try {
                localFile = File.createTempFile(fileName, "pdf");
            }
            catch (IOException ioe){
                Toast.makeText(getContext(), "File creation failed", Toast.LENGTH_SHORT).show();
            }

            fileReference.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
                    Toast.makeText(getContext(),"File downloaded",LENGTH_SHORT).show();
                }
            }).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Toast.makeText(getContext(),"Download failed. Try again!", LENGTH_SHORT).show();
                }
            });
            //Toast.makeText(getContext(),"Button working",LENGTH_SHORT).show();
        }
    });

As per Firebase Document, they are creating a temporary file for saving Image from Url. Link

File localFile = File.createTempFile("images", "jpg");

If you want to store it on phone's internal memory or in external memory then just create a File with storage path and pass it to FileDownloadTask .

File storagePath = new File(Environment.getExternalStorageDirectory(), "directory_name");
// Create direcorty if not exists
if(!storagePath.exists()) {
    storagePath.mkdirs();
}

final File myFile = new File(storagePath,"file_name");

yourStorageRef.getFile(myFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
    // Local temp file has been created
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
    // Handle any errors
}
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM