Предполагая, что вы также установили cordova-plugin-file, и при условии, что ваш файл находится внутри вашего приложения на WWW/starwars.pdf, вы могли бы использовать cordova.file.applicationDirectory, чтобы указать на файл:
var filePath = cordova.file.applicationDirectory + 'www/starwars.pdf';
cordova.plugins.fileOpener2.open(filePath, 'application/pdf', ...
cordova.file.applicationDirectory - только для чтения каталог, в котором установлено приложение. (IOS, Android, BlackBerry 10)
EDIT: Кажется, что единственный способ, чтобы сделать эту работу, чтобы передать файл на внешний накопитель, а затем выполнить операцию открытия этого файла. Помимо файла cordova-plugin-файла, вам также нужен кордо-плагин-файл-передача. И, конечно, cordova-plugin-file-opener2.
var filePath = cordova.file.applicationDirectory + '/www/pdf-sample.pdf';
window.resolveLocalFileSystemURL(filePath, function(entry) {
var fileTransfer = new FileTransfer();
var targetFile = cordova.file.externalDataDirectory + entry.name;
fileTransfer.download(
entry.toURL(),
targetFile,
function(entry) {
cordova.plugins.fileOpener2.open(
targetFile,
'application/pdf',
{
error : function(error){ alert('open error ' + JSON.stringify(error)) },
success : function(){ }
}
);
},
function(error) {
console.log("download error source " + error.source);
console.log("download error target " + error.target);
console.log("upload error code" + error.code);
}
);
См рабочую версию приложения Кордова, который выполняет эту операцию в моем Github репо: https://github.com/apandichi/demos/tree/master/pdf-file-open
Обратите внимание, что вам также необходимо приложение PDF Viewer файл для обработки «Открыть PDF» Intent.
Нет, это не работает, потому что cordova.file.applicationDirectory возвращает файл: /// android_asset /, который не работает с плагином! – xdevel2000
Любой прогресс здесь? Я могу получить его, чтобы предоставить мне информацию о файле index.html, но не файл.pdf. Он генерирует только код ошибки 1 - на файлах pdf и docx. –
Кажется, что единственный способ сделать эту работу - передать файл во внешнее хранилище и затем выполнить открытую операцию в этом файле. См. Мой обновленный ответ. –