2016-05-26 25 views
1

Weiß jemand, warum "fileEntry.file" in meiner Windows 8 App immer wieder fehlschlägt?Weiß jemand, warum "fileEntry.file" beim Versuch, eine Datei zu lesen, in meiner Windows 8-App fehlschlägt?

Wenn ich den folgenden Code verwenden es fehlschlägt:

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); 
} 

aber wenn ich die ‚fileEntry.file‘ Teil zu entfernen funktioniert es gut:

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); 
} 

Die offiziellen Dokumente sagen verwenden ‚Fileentry .file ': https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/index.html und ich habe bereits die App sowohl im Android- als auch im Apple-Store laufen, also hoffe ich, dass ich weiterhin alle aktuellen Funktionen verwenden kann, die bereits' fileEntry.file 'für die Windows-Version verwenden.

Der Fehler, den ich bekomme, ist: 0x800a01b6 - JavaScript Laufzeitfehler: Objekt unterstützt keine Eigenschaft oder Methode 'Datei'.

Ich verwende Cordova über die Befehlszeile und Visual Studio, um es auszuführen, wenn das überhaupt hilft.

+1

[getFileFromApplicationUriAsync] (https://msdn.microsoft.com/library/windows/apps/windows.storage.storagefile.getfilefromapplicationuriasync definieren. aspx) gibt eine [StorageFile] (https://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.aspx) -Instanz zurück, notieren Sie eine FileEntry-Instanz –

+0

Ah ok, das macht ein bisschen mehr Sinn, danke. Gibt es eine Möglichkeit, sie zusammenzuarbeiten? – Pyper

Antwort

0

nicht zu 100% sicher, aber versuchen, e Argument hinzuzufügen, wenn Sie die onloadend Methode