2016-08-12 12 views
3

私は、インターネットからpdfファイルをダウンロードし、cordova-plugin-fileとcordova-plugin-file-transferを使用してローカルファイルシステムに保存するcordovaアプリケーションを持っています。次のステップでは、指定されたMIMEタイプのデフォルトアプリケーションを使用してファイルを開きます。私はそのためにcordova-plugin-file-opener2プラグインを使用しています。ファイルが保存されているディレクトリは、ファイルを開くために選択されたサードパーティのアプリケーションに対して読み込み可能である必要があります。アンドロイドには、公開されているファイルシステムのディレクトリがいくつかあり、正しく動作しています。しかし、私はiOSの場合にファイルを保存する必要がある正しいディレクトリを見つけられず、選択したデフォルトのサードパーティ製アプリケーションで利用できるようになりました。 https://github.com/apache/cordova-plugin-file#file-system-layoutsコードを使用してiOSのパブリックディレクトリにファイルを保存

しかし、どのようにそれが来るん:

コルドバ - プラグインファイルは、コルドバのアプリケーションへRWモードで使用可能なすべてのディレクトリがプライベートであること、そのドキュメントで述べていますか?デフォルトで開くファイルの概念mimetypeに基づくサードパーティのアプリケーションはすべてのOSで標準です。どんな助けもありがとう。

答えて

0

iOSには公開されていないファイルシステムのディレクトリがありません。
片方向 - UIActivityViewControllerによる共有を使用します。

+0

応答をいただき、ありがとうございます。私の優先事項は、既存のコードバスソリューションを見つけることです。 UIActivityViewControllerを使って自分自身のプラグインやブリッジを書くことで、本当に最後の可能な方法です。 –

+0

私は、iOSの公開フォルダがないことを援助したいだけです。 – Igor

1

IOSを搭載したcordova-plugin-file-opener2プラグインを使用しています。私はファイルをcodeova.file.cacheDirectoryに保存します。この場所にzipファイルを保存すると、これは問題なく動作します。まず、zipファイルマネージャをインストールしてmimeType = application/zipを処理する必要がありました。私が使用したzipファイルマネージャーは、「Zip Viewer」の無料版でしたが、これは大丈夫だと思われますが、いくつかの広告があります。

Androidで動作させるには、 cordova.file.externalRootDirectoryにファイルを保存する必要がありました。Android用cordova.file.cacheDirectoryを使用したときは、自動的に失敗しました。 cordova.file.externalRootDirectoryは、Cordova File Pluginのドキュメントに従ってIOS用に定義されていないため、IOS用に使用することはできません。ここで

は、ファイルが保存されたときに呼び出されるコードスニペットです:

var fileName = "myfile.zip"; 
//for IOS 
var filePath = cordova.file.cacheDirectory+"/Download/"+fileName; 
//for Android 
//var filePath = cordova.file.externalRootDirectory+"/Download/"+fileName; 

var mimeType = "application/zip"; 
cordova.plugins.fileOpener2.open(
    filePath, 
    mimeType, 
    {error : function(){ 
        my.alert("ERROR opening with cordova.plugins.fileOpener2"); 
      }, 
    success : function(){ 
        my.log("SUCCESS opening zip file"); 
       } 
    }); 
関連する問題