ブロブ ストアに画像をアップロードしています。ここから例をコピーし ました。
私が遭遇する唯一の問題は、フォームを含むページをロードし、すぐに画像を送信しない場合です。URL の有効期限が切れる可能性があり、画像を読み込もうとするとエラー ページが表示されます。URL の有効期限が切れているかどうかを確認し、ユーザーに気付かれずに URL を更新するにはどうすればよいですか?
ブロブ ストアに画像をアップロードしています。ここから例をコピーし ました。
私が遭遇する唯一の問題は、フォームを含むページをロードし、すぐに画像を送信しない場合です。URL の有効期限が切れる可能性があり、画像を読み込もうとするとエラー ページが表示されます。URL の有効期限が切れているかどうかを確認し、ユーザーに気付かれずに URL を更新するにはどうすればよいですか?
ユーザーがフォームを送信するときに、回避策として Blob URL を取得しているようです。これにより、URL が期限切れにならないことがわかります。
JQuery の使用:
$.get("/blobUrl", function(data){
$("#changeProfilePictureForm").attr('action', data);
$("#changeProfilePictureForm").submit();
$("#changeProfilePictureForm").hide();
$("#loadingImg").show();
});
これについて 100% 確信があるわけではありませんが、Web サイトがページを実際に更新せずにページのセクションを更新するのを見たことがあります。Twitter は、最新のコンテンツを更新せずにページの上部にロードする、その例の 1 つです。
この Web サイトによると、ページを更新せずに xml および php を介して動的コンテンツを取得できます。したがって、画像をアップロードするフォームに時間制限がある場合は、このような関数を試して、実際にページを更新せずにフォームを更新できます。
URL の時間が限られている場合、またはページ全体に Cookie がある場合は、Cookie を更新または拡張する方法を理解する必要があります。これは、Google の設定方法に基づいて、API で許可される場合と許可されない場合があります。 .
最悪の場合は、html 関数を使用してページの自動更新を試すことができますが、画像のアップロード中にページが更新された場合、進行状況がすべて失われる可能性があります。
これが最も役に立たない場合は申し訳ありませんが、ボールを転がす方法についていくつかの情報を提供しようと思いました.
URL の有効期限が切れるまでの時間と、問題の原因となっている有効期限であることをどのように判断しますか? これについて言及している Google API ドキュメントが見つかりません。また、スローされる例外。サーバー側でそれをキャッチし、新しく生成されたアップロード URL を使用して、ユーザーを同じページに送り返すことができますか。これが起こったことをユーザーが知らないという要件を満たしていないことはわかっています。
URL の有効期限が切れるまでの時間を調べてから、JavaScript を使用してタイムアウト近くでサーバーを非同期に呼び出し、新しいアップロード URL を取得し、DOM で URL を変更するというのが 1 つのオプションだと思います。
ただし、例外をキャッチして再レンダリングするソリューションは、ユーザーがかなり長い時間アイドル状態になった後にのみ URL が期限切れになるはずだと思うので、最適に聞こえますか?