Я создаю приложение, используя Nativescript/Angular 2.
Я хочу иметь возможность загрузить файл с URL-адреса и сохранить его на устройстве в месте, где у обычного пользователя не возникнет проблем с его поиском. Я считаю, что загрузки были бы лучшим местом для этого как на iOS
, так и на Android
. Пожалуйста, поправьте меня, если я ошибаюсь.
Файл может быть любого типа, а не только изображение. Так что в основном spreadsheet
, word document
, pdf
, png
, jpg
и т. д.
Я искал в Интернете и через документацию. В документации описан метод под названием getFile, который получает файл и сохраняет его на вашем устройстве.
Я реализовал это в своем коде следующим образом:
download (id) {
console.log('Download Started');
getFile("https://raw.githubusercontent.com/NativeScript/NativeScript/master/apps/tests/logo.png").then(function (r) {
console.log(r.path);
}, function (e) {
//// Argument (e) is Error!
});
}
Проблема с этим заключается в том, что он сохраняет его в недоступном для пользователя месте, например:
/data/user/0/com.myapp.example/files/logo.png
Обновлять:
Я также попытался указать путь напрямую с помощью:
fs.knownFolders.documents();
Однако этот метод получает папку документов для текущего приложения, которая НЕ доступна пользователю или внешним приложениям.