Файловая система WP8 / Cordova-кто-нибудь знает правильный код?
Существует серьезная нехватка документации о том, как использовать плагин Cordova file с платформой WP8.
У меня есть приложение на Android, fireOS и iOS, все они используют файловый плагин для просмотра содержимого каталога, загрузки, сохранения и открытия сгенерированных файлов из моего веб-сервиса, которые все используют следующий код:
function listDir() {
//console.log('listDir');
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
function gotFS(fileSystem) {
//console.log('gotFS. filesystem.root = ' + fileSystem.root.value);
fileSystem.root.getDirectory("MyFolder", { create: true, exclusive: false }, gotDir);
}
function gotDir(dirEntry) {
//console.log('gotDir');
// Get a directory reader
var directoryReader = dirEntry.createReader();
// Get a list of all the entries in the directory
directoryReader.readEntries(success, fail);
}
function success(entries) {
var i = 0, sb = '';
sb += '<ul data-role="listview" data-inset="true" id="pdfFiles">';
if (entries.length > 0) {
for (i = 0; i < entries.length; i++) {
sb += '<li><a href="#" data-src="' + entries[i].toURL() + '"><img src="images/icons/icon_pdf.png" class="ui-li-icon" width="16px" height="16px" alt="PDF Icon" />';
sb += entries[i].name;
//sb += '<br />';
//sb += entries[i].fullPath;
sb += '</a></li>';
}
} else {
sb += '<li><p>You do not have any saved reports</p></li>';
}
sb += '</ul>';
$('#pdfReports-entries').html(sb);
$('ul#pdfFiles').listview().listview('refresh');
//open the pdf file using the fileOpener plugin
$('ul#pdfFiles li a').on('click', function () {
$this = $(this);
window.plugins.fileOpener.open($this.attr('data-src'));
});
}
function fail(error) {
logError("Failed to list directory contents: " + error.code);
sb += '<ul data-role="listview" data-inset="true" id="pdfFiles">';
sb += '<li><p>You do not have any saved reports</p></li>';
sb += '</ul>';
$('#pdfReports-entries').html(sb);
$('ul#pdfFiles').listview().listview('refresh');
}
}
WP8 выдает следующую ошибку в функции gotFS:
A first chance exception of type 'System.IO.IsolatedStorage.IsolatedStorageException' occurred in mscorlib.ni.dll
Затем я попробовал код на этом Github , который все еще не смог создать или читал любые каталоги,но не создавал исключение IsolatedStorageException.
Я много раз спрашивал Google, но он не может дать вразумительного ответа.Знает ли кто-нибудь , Как использовать файловый плагин с WP8?
1 ответ:
Связано с моим комментарием выше, но хотел место, чтобы положить код...
Я сам не делал приложение WP8, только iOS и Android, но, возможно, у приложения нет правильных разрешений?
Они будут помещены в ваш файл
Properties/WPAppManifest.xml
и выглядеть так:<Capabilities> <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" /> <Capability Name="ID_CAP_IDENTITY_DEVICE" /> <Capability Name="ID_CAP_IDENTITY_USER" /> </Capabilities>
И список доступных идентификаторов возможностей перечислены здесь на MSDN. Хотя единственное, что я вижу, связанное с хранением файлов, - это
ID_CAP_REMOVABLE_STORAGE
, так что, возможно, это не проблема... Однако я решил, что ссылка выше может быть полезной.