如何使用 InAppBrowser 打开本地 pdf

Posted

技术标签:

【中文标题】如何使用 InAppBrowser 打开本地 pdf【英文标题】:How to open an local pdf using InAppBrowser 【发布时间】:2017-06-08 05:29:19 【问题描述】:

我已经使用Transfer Plugin 从服务器下载了一个 pdf 文件,我正在尝试使用 InAppBrower 插件打开该文件,但我没有得到任何东西。我的意思是什么都没有发生。

fileTransfer.download(url, this.file.dataDirectory + file.filename,false,
        headers: 
            'authorization': 'bearer xxxx'
        
    ).then((entry) => 
      console.log('download complete: ' + entry.toURL());
      console.log(entry.nativeURL);
      const browser = this.iab.create(entry.nativeURL, '_system', 'location=yes'); //here the inappbrowser plugin code.
    , (error) => 
      // handle error
      console.log(error);
      console.log('ERROR');
    );

我的控制台.log(entry.nativeURL);打印这条路径file:///data/user/0/com.schneider.and/files/Attendance_Policy_Ver_1.0.pdf

【问题讨论】:

检查一次***.com/questions/26304729/… 在尝试了上面的堆栈答案后,我的 inappbrowser 中显示了白页任何想法@SaEChowdary 你在哪里测试它? 我正在我的真实设备@Sampath 中进行测试 【参考方案1】:

尝试将 nativeUrl 放在 browserURL 中,看看是否可以跳转到确切的 .pdf....

那就试试

fileTransfer.download(url, this.file.dataDirectory + file.filename,false,
        headers: 
            'authorization': 'bearer xxxx'
        
    ).then((entry) => 
      console.log('download complete: ' + entry.toURL());
      console.log(entry.nativeURL);
      let browser=new InApp Browser(entry.nativeURL,'_blank');
    , (error) => 
      // handle error
      console.log(error);
      console.log('ERROR');
    );

并从 'ionic-native' 导入 InAppBrowser

import InAppBrowser from 'ionic-native';

【讨论】:

即使在尝试了上述答案后,我仍然会出现黑屏 好的...您是否尝试将链接粘贴到浏览器的 URL 栏中?如果是,那么你得到了什么?你能在 chrome 开发者工具中运行同样的东西吗? 浏览器 url 栏中的链接不会显示 pdf,因为如果您在我的上述问题中看到它需要 headers 对象,我已授权下载文件,因此我的文件位于我拥有的路径中在我的问题中提到使用该路径只有我必须在 inappbrowser 中打开 当您运行应用程序时,您在 URLbar 中获得的 URL 是什么? 您在我的问题上看到的相同网址【参考方案2】:

我使用此代码及其对我有用

showDocument()
      const options: DocumentViewerOptions = 
        title: 'My PDF'
      
      const imgeLocation = `$cordova.file.applicationDirectorywww/assets/imgs/$'Jainbhajan-Jeevan-Saar-By-Nirmal-Gangwal-1-ilovepdf-compressed (1).pdf'`;
      this.document.viewDocument(imgeLocation, 'application/pdf', options)
    

【讨论】:

以上是关于如何使用 InAppBrowser 打开本地 pdf的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGap:如何跳过 inAppBrowser 以使用 Safari 打开 url

如何在cordova项目中异步打开inappbrowser

如何使用 ionic inappbrowser 打开 iTunes 链接?

Cordova/iOS:如何关闭使用 InAppBrowser 打开的本机浏览器窗口?

Cordova/PhoneGap 打开下载的文件 (InAppBrowser)

如何使用未完成按钮顶部栏的按钮关闭 inAppbrowser