Хранить файл из Firebase Storage на локальном хранилище.(Android) - PullRequest
0 голосов
/ 13 октября 2018

Это мой код для функции.Это грязно, я пробовал много вещей, но ничего не работает.Я хочу загрузить файл PDF из хранилища Firebase и сохранить его в папке «Загрузки» на устройстве.При использовании временного файла я получаю успешный результат.Но при попытке сэкономить на устройстве хранения я получаю тост ошибки загрузки.

Таким образом, файл может быть доступен и загружен, но его код не может создать постоянный файл в локальном хранилище.Я установил свои права на запись и чтение внешней памяти.Спасибо за любую помощь!

  public void getfile() {
        File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
         storageRef = storage.getReference();
           pathReference = storage.getReferenceFromUrl(link.getText().toString());
File storagePath = new File (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), name + ".pdf");
        if(!path.exists()) {
            path.mkdirs();
        }
final File myfile = new File(path, "somename");
          //  File file;
           // file = new File(path);
          //  File localFile = File.createTempFile(name.getText().toString(),"pdf");
            pathReference.getFile(myfile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {

                    Toast.makeText(note_list.this, "Downloaded", Toast.LENGTH_SHORT).show();
                    //created

                }
            }).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Toast.makeText(note_list.this, "Download error", Toast.LENGTH_SHORT).show();
                    //error
                }
            }); // Here I try to call this method
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...