Est-ce que quelqu'un sait pourquoi l'utilisation de 'fileEntry.file' continue d'échouer dans mon application Windows 8?Est-ce que quelqu'un sait pourquoi l'utilisation de 'fileEntry.file' continue à échouer dans mon application Windows 8 lorsque j'essaie de lire un fichier?
Si j'utilise le code suivant échoue:
Windows.Storage.StorageFile.getFileFromApplicationUriAsync(new Windows.Foundation.Uri(cordova.file.applicationDirectory + 'www/assets/pages/en/navigation.html')).done(usethisfile, fail);
function usethisfile(fileEntry) {
console.log("Im going to use the file... " + fileEntry.path);
fileEntry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function() {
console.log("Successful file read: " + this.result);
};
reader.readAsText(fileEntry);
}, onErrorReadFile);
}
mais si je retire la partie 'fileEntry.file' il fonctionne très bien:
Windows.Storage.StorageFile.getFileFromApplicationUriAsync(new Windows.Foundation.Uri(cordova.file.applicationDirectory + 'www/assets/pages/en/navigation.html')).done(usethisfile, fail);
function usethisfile(fileEntry) {
console.log("Im going to use the file... " + fileEntry.path);
//fileEntry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function() {
console.log("Successful file read: " + this.result);
};
reader.readAsText(fileEntry);
//}, onErrorReadFile);
}
Les documents officiels disent utiliser « fileentry .file ': https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/index.html et j'ai déjà l'application fonctionnant sur les deux les magasins Android et Apple donc j'espère pouvoir continuer à utiliser toutes les fonctions actuelles qui utilisent déjà' fileEntry.file 'pour la version Windows.
L'erreur que je reçois est: 0x800a01b6 - Erreur d'exécution de JavaScript: L'objet ne supporte pas la propriété ou la méthode 'fichier'. J'utilise Cordova via la ligne de commande et Visual Studio pour l'exécuter si cela peut aider du tout.
[getFileFromApplicationUriAsync] (https://msdn.microsoft.com/library/windows/apps/windows.storage.storagefile.getfilefromapplicationuriasync. aspx) renvoie une instance [StorageFile] (https://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.aspx), notez une instance FileEntry –
Ah ok, cela fait un peu plus de sens, merci. Y a-t-il un moyen de les faire travailler ensemble? – Pyper