私のアプリケーションは、内部サービスから同じイメージを絶えずダウンロードしてホストすることになっています。私はイメージを取得する予定の俳優を実装することでそれを実装しました。Play 2とキャッシングアセット
GET /public/*file controllers.Assets.at(path="/public", file)
しかし、私はhttp://server/public/assets/image.pngを介して画像にアクセスしようとするいくつかの理由で、私は更新が表示されない:それは、私は、このデフォルトルートが設定されている/public/analytics
下のものを配置します。私は問題はそれがキャッシュされていると思う。私が私のホストの中に入ると、私は/public/analytics
にある更新されたイメージを見て、それがキャッシュされるはずです。
私はGlobal
にこれを追加しようとしました:
override def doFilter(action: EssentialAction): EssentialAction = EssentialAction { request =>
import play.api.http.HeaderNames
action.apply(request).map(_.withHeaders(
HeaderNames.CACHE_CONTROL -> "no-cache",
HeaderNames.PRAGMA -> "no-cache"
))
}
しかし、結果は同じです。さらに、画像URLを取得すると、no-cache
ヘッダーが表示されます。私は毎回新しいURLを生成する提案を見ましたが、私はそれを行うことはできません。
何が間違っている可能性がありますか?
残念ながら、これは機能しません - 私は30秒待っても、私はまだ古い画像を取得しています。私はキャッシュをオフにしようとしました。私が答えに載せたコードを見てください - そして私はまだ古いイメージを残しています。通常の「アクション」でイメージ検索を実装したときにのみ、反応させることができましたが、このアプローチが良いとは確信していません – Archeg
3時間後でもまだ古いイメージが残っているという奇妙なことです。これを引き起こす可能性のあるキャッシュ以外のものはありますか? – Archeg