2016-05-26 2 views
1

Кто-нибудь знает, почему использование файла fileEntry.file не работает в моем приложении Windows 8?Кто-нибудь знает, почему использование файла fileEntry.file не работает в моем приложении Windows 8 при попытке прочитать файл?

Если я использую следующий код он не:

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

, но если я удалю часть в «fileEntry.file» работает отлично:

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

Официальные документы говорят, использовать «FileEntry .file ': https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/index.html, и у меня уже есть приложение, работающее как в Android, так и в магазинах Apple, поэтому я надеюсь, что смогу продолжать использовать все текущие функции, которые уже используют файл fileEntry.file для версии Windows.

Ошибка, которую я получаю: 0x800a01b6 - Ошибка выполнения JavaScript: объект не поддерживает свойство или файл 'файл'.

Я использую Кордову через командную строку и Visual Studio для ее запуска, если это вообще помогает.

+1

[getFileFromApplicationUriAsync] (https://msdn.microsoft.com/library/windows/apps/windows.storage.storagefile.getfilefromapplicationuriasync. aspx) возвращает экземпляр [StorageFile] (https://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.aspx), обратите внимание на экземпляр FileEntry –

+0

Ах, ну, это немного больше смысла, спасибо. Есть ли способ заставить их работать вместе? – Pyper

ответ

0

Не 100% уверен, но попробуйте добавить электронный аргумент при определении метода onloadend

Смежные вопросы