Phonegap cordova.file tidak terdefinisi

Saya memiliki aplikasi Phonegap tempat saya mencoba menyimpan file ke penyimpanan perangkat, tetapi setelah saya menyertakan plugin cordova-plugin-file di file config.xml, objek cordova.file tetap tidak terdefinisi. Saya sedang membangun aplikasi menggunakan Phonegap Build menggunakan cli cli-6.5.0.

Dengan menggunakan alat inspektur Chrome, saya dapat melihat bahwa ketika saya mencoba mencatat objek cordova.file, ia mengembalikan tidak terdefinisi, mencatat cordova mengembalikan objek cordova di log.

Berikut log dari konsol seperti dijelaskan di atas:

Pengujian konsol

Baris berikut ada di file config.xml saya:

<plugin name="cordova-plugin-file" source="npm" />
<preference name="iosExtraFilesystems" value="library,library-nosync,documents,documents-nosync,cache,bundle,root" />
<preference name="AndroidExtraFilesystems" value="files,files-external,documents,sdcard,cache,cache-external,assets,root" />
<preference name="AndroidPersistentFileLocation" value="Compatibility" />

Ini adalah kode yang saya gunakan untuk menyimpan file:

window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory, function(dir) {
    console.log("Creating file");

    var fileName;

    do {
        fileName = prompt("Please enter a name for your file", "");
    } while(fileName == null || fileName == "");

    dir.getFile(fileName, {create:true}, function(file) {
        console.log("File created succesfully");

        file.createWriter(function(fileWriter) {
            console.log("Writing content to file");
            fileWriter.write(imageBlob);
        }, function(){
            console.log('Unable to save file');
        });
    });
});

Namun fungsi ini tidak pernah berjalan dan saya tidak melihat log apa pun di konsol melalui alat inspektur Chrome. imageBlob adalah objek Blob yang berisi gambar base64 yang dikonversi menjadi objek Blob, namun kodenya tidak pernah sampai sejauh itu.

Saya juga mencoba plugin versi lama menggunakan atribut spec di file config.xml, tetapi ini tidak berhasil.


person AlexEve    schedule 21.02.2018    source sumber


Jawaban (2)


Beberapa ide:

  • Pastikan plugin file sedang diinstal. Anda seharusnya dapat memverifikasi ini di log build PGB.
  • Periksa cordova_plugins.js di tab Jaringan pada inspektur web dan verifikasi plugin file terdaftar
  • periksa apakah sumber daya javascript plugin file juga dimuat di tab Jaringan (File.js, dll)
person wildabeast    schedule 23.02.2018

Saya baru saja mengalami masalah ini dan setelah memeriksa log build pada build phonegap, saya menemukan versi cordova-plugin-file saya memerlukan versi phonegap yang lebih baru, yang perlu disetel seperti:

<preference name="phonegap-version" value="cli-8.0.0" />

http://docs.phonegap.com/phonegap-build/configuring/preferences/#phonegap-version

person frodo2975    schedule 15.09.2018