繁体   English   中英

如何将文件下载到Android中的内部下载文件夹中

[英]How to download file into internal downloads folder in Android

我对此很陌生,可以使用一些帮助。 我无法将文件从Firebase存储下载到我的android设备存储中。 问题是文件已下载到应用程序的缓存中,所以我想在离线时使用它们。 另一件事是我没有使用SD卡,因此我希望将文件下载到一些用户可访问的文件夹中,如果可能的话,请下载到内部存储器的下载文件夹中。 这是我的代码:

StorageReference ref = storage.getReferenceFromUrl("gs://diplomskirad-948a7.appspot.com/Dennis Lloyd - NEVERMIND.mp3");
    File localFile=null;
    try {
        localFile = File.createTempFile("audio", ".mp3");
    } catch (IOException e) {
        e.printStackTrace();
    }
    ref.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
        @Override
        public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
            Log.d("Success", "File downloaded successfully");
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception exception) {
            Log.e("Error", "Error downloading file");
        }
    });

我想应该以某种方式更改我的“ onSuccess”方法,但是到目前为止我还没有取得任何成功。

尝试这个:-

StorageReference ref = storage.getReferenceFromUrl("gs://diplomskirad-948a7.appspot.com/Dennis Lloyd - NEVERMIND.mp3");

  File path= new File(Environment.getExternalStorageDirectory(), "file_name");
    if(!path.exists()) {
        path.mkdirs();
    }

   final File localFile = new File(path,"audio.mp3");

    ref.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
        @Override
        public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
            Log.d("Success", "File downloaded successfully " + localFile.toString());
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception exception) {
            Log.e("Error", "Error downloading file");
        }
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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