java - 如何使用 Wicket 7 制作可缓存的图像?

标签 java caching wicket

我在文件系统和数据库中都有 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/

相关文章:

javascript - 如何在 firefox 中找到特定的缓存条目并将它们转换为 File 或 Blob 对象?

android - 从字符串数据的键获取 bool 数据后 SharedPreference 崩溃

java - Wicket 口: "Component-targetted feedback message was left unrendered",即使 FeedbackPanel 位于页面上

java - Apache 检门 slider

java - 处理中串行端口(USB UART 接口(interface) - FTDI)的不稳定实时绘图

java - 进程正在暂停,直到我关闭程序

asp.net - 我的 ASP.NET 缓存存储在服务器还是浏览器上

java - 为什么tomcat返回错误HTTP 500?

java - Android 中的自定义最大 asyncTasks

java - 从 byte[] 创建位图