我在文件系统和数据库中都有 png 文件。所以我尝试使用
ByteArrayResource
只显示一次图像。浏览器刷新仅显示图像占位符。图片 url 附加了一个参数:
&antiCache=123456789
所以 ByteArrayResource 在我看来只能使用一次并且必须重新加载,即使页面只获得 refresehd。接下来我尝试了
PackageResource
它在浏览器中显示图像(即使在刷新之后),但也呈现了“antiCache”参数。即使在显式调用之后也会发生这种情况
setCachingEnable( true );
“PackageResource”也不能使用数据库中的 png 数据。
最佳答案
antiCache
参数仅在 Ajax 响应中添加。如果您在 Ajax 响应 ( https://github.com/apache/wicket/blob/70606d73e9165d37c1d8b7c7820279fb4be18770/wicket-core/src/main/java/org/apache/wicket/markup/html/image/Image.java#L543 ) 中添加图像,则 Wicket 会假定它必须重新绘制,因此它会修改 url。
您可以覆盖此方法并抑制此行为。
关于java - 如何使用 Wicket 7 制作可缓存的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39962485/