私が探しているのは、オフラインのWebアプリケーションに画像を「アップロード」する方法です。選択した画像をキャッシュに保存し、インターネットに再度アクセスできるようになったらアップロードする方法があることを願っています。このようなことは可能ですか?
4 に答える
HTML5 FileSystemを使用して画像ファイルを保存できますが、まだすべてではない多くのブラウザに実装されています。次に、HTTPPOSTメッセージを使用して画像ファイルをサーバーにアップロードできます。また、HTTPでアップロードする場合は、Base64形式の画像ファイルに安全にエンコードできます。
インターネット接続をチェックアウトするには、XMLHTTPRequestを使用できます。
このようなことは可能ですか?
はい
...小さなファイルの場合。
HTML5 File APIを使用してファイルデータをロードし、AJAXを介してサーバーに投稿できます。接続がない場合は、ある種のストレージメカニズムをトリガーするために使用できるHTTPステータスコードが返されます。
localStorage
約5MBの制限があるので、私は「小さなファイル」と言います。
Web SQLデータベースはより多くのデータを格納できる可能性がありますが、それはもはや維持されていません。
注意してください。この仕様は現在アクティブなメンテナンスではなく、Webアプリケーションワーキンググループはそれ以上のメンテナンスを行う予定はありません。
tl; dr:
小さな画像やテキストファイルをキャッシュしようとしている場合は、それをローカルに保存してインターネット接続をポーリングすることができます。
ユーザーにトルストイのアップロードを許可しようとしている場合は、アクティブなインターネット接続が確立されるまでユーザーを待たせる必要があります。
この効果を達成するのに最も近いのは、Webアプリケーションがクライアントにインストールされ実行されているある種のクライアントプログラムを提供する場合です。
次に、このローカルクライアントは、特定のファイルをアップロードする要求を考慮し(これらのファイルをキャッシュにコピーするか、将来のアクセスのためにファイルの場所をメモするかどうかに関係なく)、次のようになったときに、そのような各ファイルをサーバーに効果的に送信しようとし続けます。新たに利用可能。
サーバーがオフラインのときは(クライアントの観点から)サーバーとの対話はまったく不可能であるため、これは単なるトリックです。
Javaアプレットを使おうとするかもしれません。クライアント側で実行できます。したがって、後で画像をアップロードする前に、画像をどこかに保存できるコードを書くことができます。