首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用FileOpener2打开文件,但无法在Android中获得错误。

无法使用FileOpener2打开文件,但无法在Android中获得错误。
EN

Stack Overflow用户
提问于 2015-06-30 21:09:22
回答 1查看 1.3K关注 0票数 2

我试图使用FileOpener2 (通过ng-cordova)打开一个PDF文件,代码如下:

代码语言:javascript
复制
$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中打开这个文件?”并列出其他PDF查看器,控制台打印“打开!”

但是,无论我打开什么pdf,我都会遇到一些错误,比如“无法打开这个PDF文件”。

有人能看出这个代码有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-02 02:38:58

显然,如果你在安卓上使用cordova.file.dataDirectory,你就不能在其他应用程序中打开这些文件,也不能将它们附加到电子邮件中。愚蠢的错误--编码太快,在文档上读得太少。使用cordova.file.externalApplicationStorageDirectory解决了这个问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31148545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档