У меня есть приложение, в котором есть версия для разработчиков и живая версия.Код такой же, за исключением некоторого конфига.
В приложении я загружаю изображение, сохраняю его в файловой системе и добавляю в галерею / камеру (android / ios), используя cordova-plugin-file-Transfer, cordova-plugin-file иcordova-plugin-save-image.
В приложении dev все в порядке.В приложении Live, только на Android, fileSystem.root.getFile (..) возвращает код ошибки 1 - НЕ НАЙДЕН (https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/#list-of-error-codes-and-meanings) .. на одном устройстве.
Приложение dev иживое приложение загружает изображения с другого удаленного сервера. Я думаю все разрешения одинаковы. Вот код (отредактированный)
try {
filename = "test.jpg";
window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, function (fileSystem) {
fileSystem.root.getFile(filename, {
create: true, exclusive: false
}, function (fileEntry) {
// download image into that file
}, function(error) {
MyApp.error("Filesystem.getFile failed with error "+error.code);
}
);
}, function (evt) {
MyApp.error("window.requestFileSystem failed with error "+evt.target.error.code);
});
} catch(e) {
alert('all is wrong');
}
}
Результат на живом приложении для Android -
Filesystem.getFile завершился ошибкой с ошибкой 1
LocalFileSystem.PERSISTENT имеет то же самое.
Кажется, будто только в живом приложении окно.requestFileSystem () не возвращает допустимую вещь .. она должна в конечном итоге возвращать путь, подобный /data/data/MyApp/cache/test.jpg
. Как будто каталог кэша отсутствует и не может быть создан?