我正在尝试使用以下代码使用 FileOpener2(通过 ng-cordova)打开 PDF 文件:
$cordovaFile.checkFile(cordova.file.dataDirectory, attachmentPath)
.then((fileEntry) => {
// success
fileEntry.getMetadata((metadata) => {
// metadata.size is in bytes
var megabyteSize = metadata.size / 1048576;
if (megabyteSize > 5) {
var path = cordova.file.dataDirectory + attachmentPath;
console.log(path); // prints: file:///data/data/com.ionicframework.enhatch146189/files/attachments/CS-353ES_CS-420ES_Eng.pdf which is correct
$cordovaFileOpener2.open(path, 'application/pdf').then(() => {
console.log("Opened!") // prints
}, (error) => {
console.log(error);
usePDFJs(); // tries to render PDF in app with PDFJs
});
} else {
usePDFJs();
}
})
}, function (error) {
// error
console.error(error);
});
发生了什么让我感到困惑:它提示我“在 Adobe Reader 中打开此文件?” 并列出其他 PDF 查看器,控制台打印“已打开!”
但是,无论我用什么打开任何 pdf,都会出现某种错误,例如“无法打开此 PDF 文件”。
任何人都可以看到这段代码有问题吗?