ngCordova writeFile не существует в типе Ошибка файла

Я создаю приложение Ionic2, и мне удалось создать локальный файл с помощью плагина ngCordova.

Однако функция writeFile(..) указана на: http://ngcordova.com/docs/plugins/file/ похоже, не поддерживается тем же плагином, который я использовал для создания того же файла.

Это кусок кода, который не работает.

File.writeFile(this.getFilePath(), 'feedback.txt', data, true);

где File.writeFile выделен сообщением «Неразрешенная функция или метод writeFile».

Когда я создаю свое приложение. появляется ошибка:

Error TS2339: Property 'writeFile' does not exist on type 'typeOf File'

Любые идеи, если плагин Cordova больше не поддерживает эту функцию или если функция заменена другой, которую я не могу найти?

Благодарю вас!


person user3153278    schedule 15.07.2016    source источник
comment
Кто-нибудь знает? :(   -  person user3153278    schedule 17.07.2016


Ответы (1)


Ionic 2 не использует ngCordova, вместо этого он использует Ionic Native.

Ionic Native имеет собственный класс-оболочку File, но в настоящее время отсутствует реализация .writeFile(), отслеживайте связанная проблема GitHub здесь #264

На данный момент вы можете использовать метод .createFile() оболочки Ionic Native File, который должен верните объект fileEntry в промисе, позволяющий использовать некоторый собственный код файлового плагина для записи в файл.

Пример

File.createFile(this.getFilePath(), 'feedback.txt', true).then((fileEntry) => {

    fileEntry.createWriter((fileWriter) => {

        fileWriter.onwriteend = () => {
            console.log('File writer - write end event fired...');
        };

        fileWriter.onerror = (e) => {
            console.log('file writer - error event fired: ' + e.toString());
        };

        fileWriter.write(data);
    });

Обновить

Я считаю, что класс File теперь имеет метод .writeFile(), который следует использовать вместо мой пример кода, но я еще не пробовал его.

person Will.Harris    schedule 18.07.2016
comment
На самом деле это еще не реализовано... к сожалению - person Jens; 20.09.2016
comment
Спасибо, что указали на это @Jens. Я видел его в последней документации (см. ссылку на .writeFile()) и предположил, что теперь он будет работать. - person Will.Harris; 21.09.2016