3

我正在开发一个ionic 3项目,我想在“assets/pdf”文件夹中打开pdf文件。我为此使用了离子原生文件打开器。但它会抛出一个错误,说找不到文件

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);
        });
}

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

4

2 回答 2

2

为了解决这个问题,我所做的是在打开文件之前将文件复制到 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));
     });
于 2018-09-06T21:05:19.287 回答
0

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

于 2017-07-20T12:46:34.757 回答