簡體   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