【Cordova】端末内のファイルを開く「cordova-plugin-file-opener2」をiOSでも使う

村上 著者:村上

【Cordova】端末内のファイルを開く「cordova-plugin-file-opener2」をiOSでも使う

先日投稿した、「cordova-plugin-file-opener2」を使って端末内のファイルを開く方法の、iOSバージョンです。
思ったよりも簡単に実装できました。

プラグインはこちらからご確認ください。

GitHub – pwlin/cordova-plugin-file-opener2: A File Opener Plugin for Cordova
https://github.com/pwlin/cordova-plugin-file-opener2

ちなみに先日の投稿についてはこちらから。

【Cordova】端末内のファイルを開くプラグイン「cordova-plugin-file-opener2」
https://cpoint-lab.co.jp/article/201812/【cordova】端末内のファイルを開くプラグイン「cordova-plugin-file-op/

 

さて、実装方法ですが、コード自体は下記のとおりです。

let filePath = [開きたいファイルのパス];
if (window.device.platform === 'Android') {
  filePath = filePath.replace(/^file:\/\//, '');
}
window.cordova.plugins.fileOpener2.open(
  filePath,
  'image/png',
  {
    error: function() {
      // エラー時の処理
    },
    success: function() {
      // 成功時の処理
    },
  }
);

異なる点は開きたいファイルを指定しているパス値のみで、それ以外は先日に投稿したコードとほぼ同じです。

Android と iOS では開くファイルのパス指定方法が異なるので、まずは端末が Android なのか iOS なのかを判断します。
上記のコードでは、3行目にあたります。
使用しているプラグインは「cordova-plugin-device」です。

GitHub – apache/cordova-plugin-device: Apache Cordova Plugin device
https://github.com/apache/cordova-plugin-device

device.platform で、Android や iOS などの、プラットフォームを示す文字列が取得できるので、それを使って判断しています。
で、Androdだったら、文頭についている file:// をとり、iOS だったらそのままです。

あとは、取得・整形したファイルパスとファイルのMIMEタイプを fileOpener2 のプラグインで指定して、ファイルを開く処理を実行します。
そうすれば、指定したファイルが展開されるはずです。

 

以上、iOSで端末に保存されたファイルを開く方法でした。
Androidは、サンプルコードから文頭の file:// が不要ということが分かったのですが、iOSの指定方法が見つけられず…。
で、試しに取得したファイルパスを加工せず、そのまま指定したところ、問題なく実行されたという次第です。
行き当たりばったりな気もしますが、動いたので問題なし!ということにします。

ということで、Android・iOSの両端末でのファイル展開機能の実装については、これで対応が完了です。

  • この記事いいね! (0)

著者について

村上

村上 administrator