2

フリップ、フロップ、境界線の追加などの操作を実行するために、単純な画像エディターを作成する必要があります。jsp サーブレットを使用しています。操作が実行されるたびに、POST ajax リクエストがデータ (画像サーバーの相対パスと操作の名前) と共にサーバーに送信されます。ImageMagick を使用して操作を実行しています - 品質の問題のために。変更が完了すると (それまでは ajaxloader を使用)、応答がビューに返されます。1 つの操作が完了するとすぐにユーザーが操作をクリックするまで、すべてが正常に機能します。古い画像 - 以前の画像編集操作で再度表示され、しばらくすると変更が反映されます。グーグルで調べたところ、キャッシュが原因であるという結論に達しました。私はすべての可能なことを試しました -

  1. タイムスタンプ付きの画像のサーバー相対パスのパスを追加

    http://172.16.3.72:8080/~user/dataDir/workspace/2/tempData/ResizeImage.jpeg?random=1381852940376
  2. ajaxのURLにタイムスタンプを追加

    http://172.16.3.72:8080/cdl/captureImage.htm?pageNumber=2&isbn=AndItWorksFinally2?random=.332223223
  3. 使用されたキャッシュ: jquery で false

  4. ヘッダーを使用してキャッシュを無効にしました

    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
    response.setHeader("プラグマ", "キャッシュなし");
    response.setDateHeader("有効期限", -1);

しかし、これらすべてが役に立ちませんでした。キャッシュの問題ではなく、他に何かありますか? 写真を表示しているときに次のボタンをクリックすると、Facebookがサーバーから画像を非常に高速にロードする方法(重複なし)が不思議でした。

4

1 に答える 1