●実現したいこと
AndroidのChromeブラウザと同じようなイメージで、
MonacaアプリからWebサーバにあるファイル(pdfやwordなどのファイル)を
Android端末のダウンロードフォルダ(Chromeでダウンロードしたときと同じフォルダ)にダウンロード・保管したいのですが、
その方法(どういう流れで、何を調べれば理解できるようになるのか)がわかりません。
助言・お導きをお願いします。
●調べたこと
※そもそも考え方が間違っているのであれば、それもご指摘いただければ助かります。
①Monacaアプリに、外部からファイルファイルをダウンロードするのは
「File転送プラグイン」の「download」を利用するという公式マニュアルを参考にしました。
そのため、「Fileプラグイン」と「File転送プラグイン」をインストールし、コードを記載しました。
ここまでが以下のコードです。
②ただこれではMonacaアプリ内にファイルをダウンロードしただけだと思っており、
Fileプラグイン?で、端末標準のダウンロードフォルダへファイル移動する必要があると思っています。
ただ、Fileプラグインの説明を見たのですが、何のことかさっぱりわからず・・・。
https://docs.monaca.io/ja/reference/cordova_6.5/file/
③マニュアルの冒頭にFileAPIを使って・・・と書かれているので、FileAPIを少し調べたところ、
copyTo と moveTo いうメソッドを見つけたのですが、移動先のディレクトリエントリ・・・とか理解できない状況です。
①だけ反映した下のコードから、あれして、これして・・・という助言をいただければ幸いです。
<script> /*============================================================================ Cordova Plugin & Onsen UI 関連処理(Cordovaの準備完了後=アプリ起動後に発火) ==============================================================================*/ ons.ready(function() { file_download(); }); function file_download() { // ダウンロード元 var uri = encodeURI("http://hogehoge.com/pdf/abcde.pdf"); // ダウンロード先 var fileURL = "cdvfile://localhost/temporary/abcde.pdf"; // ファイルのダウンロード var fileTransfer = new FileTransfer(); fileTransfer.download( uri, fileURL, function(fileSystem) { console.log("toURL=" + fileSystem.toURL()); console.log("nativeURL=" + fileSystem.nativeURL); console.log("toInternalURL=" + fileSystem.toInternalURL()); }, function(error) { alert("download error source " + error.source); alert("download error target " + error.target); alert("download error code " + error.code); }, false, {} ); } </script>
※Monacaの「Fileプラグイン」と「File転送プラグイン」を有効にしています。
●実行結果のログ
toURL=file:///data/data/com.hogehoge/cache/abcde.pdf
nativeURL=file:///data/data/com.hogehoge/cache/abcde.pdf
toInternalURL=cdvfile://localhost/temporary/abcde.pdf
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。