Cordova-plugin-file: хорошо в приложении dev, код ошибки 1 в приложении live, но только на Android - PullRequest
0 голосов
/ 27 августа 2018

У меня есть приложение, в котором есть версия для разработчиков и живая версия.Код такой же, за исключением некоторого конфига.

В приложении я загружаю изображение, сохраняю его в файловой системе и добавляю в галерею / камеру (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. Как будто каталог кэша отсутствует и не может быть создан?

...