[英]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.