2015-09-15 8 views
5

私はMeteorを使用してモバイルアプリを構築しています。アプリケーションをオフラインで使用できるようにするには、オンラインで大規模なjsonファイルをダウンロードし、MongoDBに書き込まれたjsonファイルのデータにオフラインでアクセスできるようにする必要があります。メテオで画像をキャッシュする方法は?

これは問題なく動作します。しかし、ダウンロードしたjsonファイルには、アプリがオフラインになっても表示されないオンライン画像への参照がたくさんあります。

このように、jsonファイルで参照されている画像をアプリケーションにダウンロードして、オフラインでもアクセスできるようにしたいと考えています。

(ダウンロード画像は限り接続が利用できるようするために、バックグラウンドで発生する可能性があります。)

私のための初期化に失敗しimgCache.jsavailable on Atmosphereの実装は、あります。

理論的には、各画像をキャンバスに個別に読み込み、キャンバスのコンテンツをMongoDBに保存し、必要に応じてコンテンツを読み込むことができます。この情報の一部はhereです。しかし、これはむしろ複雑で、実際に実現可能であれば、私は誰かが成功するためにこれを前にしていたと期待します。

メテオでオフラインで使用するために画像をキャッシュする方法を教えてください。

+0

私はモバイルアプリでこのようにしています。私は 'grounddb'を使用して、 'codeova filetransfer'プラグインを使用して画像をユーザのデバイスに保存し、ローカルURLとリモートURLの詳細をground dbの別々のコレクションに保存し、必要なときに使用してください。 – Sasikanth

+0

Meteorアプリでこれをやっていますか?あなたはベアボーンの例を与えることができるでしょうか? – MastaBaba

答えて

1

これで、アプリケーションキャッシュについてはすでにthis articleが読み込まれている可能性があります。

画像が静的な場合は、それらをマニフェストに含めることができます。マニフェストとキャッシュの有効期限を理解してください(記事を参照)。

イメージが動的である場合は、そのような場合、これはwhat you wantかもしれstore images in local storage

にいくつかのテクニックを見つけることができます。

+1

ありがとうございます。これは有望に見えます。私は具体的に回答の1つに記載されているライブラリを試してみます:https://github.com/moledet/jQueryImageCaching – MastaBaba

+0

jQuery画像のキャッシュは私のためには機能しませんでした。ローカルとリモートで、キャッシュ要求ごとにエラーが表示されました。「SecurityError:DOM Exception 18:ユーザーエージェントのセキュリティポリシーを突破しようとしました。」 – MastaBaba

+1

@MastaBabaこれは難しい問題です。あなたは本当にブラウザと仕様を理解して勝つ必要があります。 –

関連する問題