angular - 如何在 Assets 文件夹ionic 3中打开pdf文件

标签 angular ionic2 ionic3 ionic-native

我正在处理一个 ionic 3 项目,我想打开 "assets/pdf" 文件夹中的 pdf 文件。 我为此使用了 ionic-native 文件打开器。但它会抛出一个错误,提示 找不到文件

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

看来路径有误。但是我不知道怎么用。有谁知道怎么用这个功能吗?

最佳答案

为了解决这个问题,我所做的是在打开文件之前将文件复制到 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));
     });

关于angular - 如何在 Assets 文件夹ionic 3中打开pdf文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44984190/

相关文章:

javascript - Ionic 2 与 WooCommerce API

angular - ionic 2 beta 8 设置根页面无法导航

css - 字体只适用于英文字母?

angular - 在 ionic2 的日期时间选择器中订阅完成事件

cordova - Kotlin 用于基于 Cordova/Ionic 的插件

android - 在 android 4.4.2 版本上获取 net::ERR_CONNECTION_REFUSED (http://localhost:8080)

javascript - 如何在生产模式下构建 Ionic 应用程序,Ionic 构建的行为有所不同

javascript - 在我的 Angular 2 应用程序中将项目推送到数组中的对象

javascript - Angular 5 View 子引用在 Safari 中不起作用(v 11.1)

angular - 如何从服务器响应 Angular 2 中读取内容配置 header