【问题标题】:How to open pdf files in assets folder ionic 3如何在资产文件夹离子3中打开pdf文件
【发布时间】:2017-12-12 13:02:57
【问题描述】:

我正在处理 ionic 3 项目,我想打开 "assets/pdf" 文件夹中的 pdf 文件。 我为此使用了离子原生文件打开器。但它会抛出一个错误,提示 file not found

import { File } from '@ionic-native/file';
import { FileOpener } from '@ionic-native/file-opener';

constructor(private file: File, private fileOpener: FileOpener) { }

public openFile() {
    const url = "assets/pdf/unit1.pdf";
    this.fileOpener.open(this.file.applicationDirectory + url, 'application/pdf')
        .then(() => console.log('File is opened'))
        .catch(e => {
          console.log('Error openening file', e);
        });
}

路径中似乎有错误。但是我不知道怎么用。有人知道这个功能怎么用吗?

【问题讨论】:

  • 遇到同样的问题。你解决了吗?

标签: angular ionic2 ionic3 ionic-native


【解决方案1】:

我为解决这个问题所做的就是在打开文件之前将文件复制到 externalCacheDirectory。

this.file.copyFile(this.file.applicationDirectory + 'www/assets/pdf/', this.filename, this.file.externalCacheDirectory, this.filename)
    .then( _ => {
        this.fileOpener.open(this.file.externalCacheDirectory + this.filename, 'application/pdf')
        .then( _ => {
            console.log('File opened');
        })
        .catch(e => console.log("Error opening file: " + JSON.stringify(e)));
     })
     .catch( e => {
        console.log("Error copying file: " + JSON.stringify(e));
     });

【讨论】:

  • 此解决方案仅适用于 android,因为属性 externalCacheDirectory 仅存在于那里。
【解决方案2】:

我想您已确认文件是否真的在该路径中。 您可以尝试使用 Ionic Document Viewer,请看一下: Ionic Document Viewer ,应该能解决你的问题,试试看..

【讨论】:

    猜你喜欢
    • 2018-12-17
    • 1970-01-01
    • 2013-12-06
    • 2014-08-25
    • 2015-07-22
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    相关资源
    最近更新 更多