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:
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.