0

AppEngine でサポートされているアプリに 6MB のバイナリ ファイルがあります。多くの計算を行うために、このファイルを GWT クライアントに渡す必要があります。インスタンス時間のクォータを節約するために、サーバーで計算を実行しないようにしています。しかし、これは、何らかの方法でファイルをクライアントに送信する必要があることを意味します。

また、アプリを開くたびにアプリにダウンロードしたくありません。これにより、appengine の送信帯域幅クォータが損なわれます。

一度ダウンロードしてから、次にアプリを開いたときに使用できるようにクライアントに保存してもらうとよいでしょう。

これを行うにはどうすればよいですか?

ClientBundle? HTML5 ストレージを使用しますか? この種のことは行われていないのでしょうか。サーバーで計算を行い、結果をクライアントに送信するだけでよいのでしょうか?

4

2 に答える 2

1

ファイルを永続的にキャッシュする最も簡単な方法は、アプリケーション キャッシュを使用することです。

もう 1 つの方法は HTML5 ストレージ (localStorage) ですが、2.5 MB の制限があります。それ以上の量を使用するには、IndexedDB (Chrome、Firefox、IE10) と WebSQL (Safari、Opera) を使用する必要があります。この場合、 YDN-DB のようなラッパー ライブラリが役立ちます。

于 2012-09-30T13:48:01.920 に答える
0

DataResourceを使用できます。

https://developers.google.com/web-toolkit/doc/latest/DevGuideClientBundle#DataResource

あなたが直面する唯一の問題はファイルサイズです。ブラウザが異なれば制限も異なります。5MBと8MBの数字を見てきました。ファイルを5MB未満に圧縮できる場合は、ほとんどのブラウザーで問題ないはずです。(ちなみに、これ以上圧縮できないと膨大な量のデータになります。)

また、モバイルブラウザを検出して(またはモバイルバージョン用に別のURLを提供して)、モバイルユーザー用にサーバー上で計算を行うことができます。

于 2012-09-30T15:40:12.063 に答える