仅显示第一个打开的图像(wicket)
Displays only the first open image (wicket)
我的程序应该通过存储在数据库中的用户 ID 为用户显示头像(图像)。图像存储在磁盘上。我使用 BufferedDynamicImageResource 来显示图像,但是 问题 总是显示最先打开的图片。如何解决?
图片阅读:
public ResourceReference getImage() {
return new ResourceReference(UserPage.class, "image") {
private static final long serialVersionUID = 2127616487187967396L;
@Override
public IResource getResource() {
BufferedImage image = null;
File f = null;
//read image
try {
f = new File("PATH");
image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
image = ImageIO.read(new FileImageInputStream(f));
System.out.println("Reading complete.");
} catch (IOException e) {
System.out.println("Error: " + e);
}
BufferedDynamicImageResource resource = new BufferedDynamicImageResource();
resource.setImage(image);
return resource;
}
};
}
函数调用:
form.add(new Image("userImg", getImage()));
我正在使用 Wicket 7.8.0
我认为您的问题与浏览器中的缓存有关。尝试使用 NonCachingImage
而不是 Image
组件。
我的程序应该通过存储在数据库中的用户 ID 为用户显示头像(图像)。图像存储在磁盘上。我使用 BufferedDynamicImageResource 来显示图像,但是 问题 总是显示最先打开的图片。如何解决?
图片阅读:
public ResourceReference getImage() {
return new ResourceReference(UserPage.class, "image") {
private static final long serialVersionUID = 2127616487187967396L;
@Override
public IResource getResource() {
BufferedImage image = null;
File f = null;
//read image
try {
f = new File("PATH");
image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
image = ImageIO.read(new FileImageInputStream(f));
System.out.println("Reading complete.");
} catch (IOException e) {
System.out.println("Error: " + e);
}
BufferedDynamicImageResource resource = new BufferedDynamicImageResource();
resource.setImage(image);
return resource;
}
};
}
函数调用:
form.add(new Image("userImg", getImage()));
我正在使用 Wicket 7.8.0
我认为您的问题与浏览器中的缓存有关。尝试使用 NonCachingImage
而不是 Image
组件。