Cordova でローカルファイルをホニャホニャする
1426 ワード
バージョンに依ってだとか、W3CのDraftやRFCに依って変化が激しくて、このあたりを触る度にネットの渦に巻かれるのでメモ。
ファイル初期化したいんだよう
cordova.file.checkFile(): Promise
この子で良いのは良いのだけど、Promise で boolean が返るなら、ある/なしが .then() の中で判定できると思ったら大間違い。
無いときは error 側に流れます(X_X)
/// constructor で `file: File` で cordova-plugin-file が inject されてる前提
/// DirectoryEntry, FileEntry は cordova-plugin-file から import してください。
/// import { DirectoryEntry, File, FileEntry } from '@ionic-native/file';
const fileName: string = "FileFile.txt";
return new Promise( (resolve, reject) => {
this.file.checkFile( this.file.dataDirectory, fileName)
.then( (/* isExists */) => {
// ファイルあるよー
window.resolveLocalFileSystemURL( this.file.dataDirectory, (dirEntry: DirectoryEntry) => {
dirEntry.getFile(fileName, {create: false, exclusive: false}, (fileEntry: FileEntry) => {
resolve(fileEntry);
}, (er) => {
reject(er);
});
});
}, () => {
// ファイルないよー
this.file.createFile(this.file.dataDirectory, fileName, true)
.then( (fileEntry) => {
resolve(fileEntry);
})
.catch( (er) => {
reject(er);
});
})
.catch( (er) => {
reject(er);
});
});
Author And Source
この問題について(Cordova でローカルファイルをホニャホニャする), 我々は、より多くの情報をここで見つけました https://qiita.com/m-suizu@github/items/6a4288b12b8db08bbe0b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .