Java 如何获取图像以在Wicket中显示它?
我被图像困住了。我需要上传一个图像,然后在我的页面上显示它。 我现在正在做的是像这样上传文件:Java 如何获取图像以在Wicket中显示它?,java,user-interface,wicket,Java,User Interface,Wicket,我被图像困住了。我需要上传一个图像,然后在我的页面上显示它。 我现在正在做的是像这样上传文件: private Picture picture; *// picture model* private FileUploadField fileUpload; public PictureUploader() { Form<?> form = new Form<Void>("uploadForm") { /** *
private Picture picture; *// picture model*
private FileUploadField fileUpload;
public PictureUploader() {
Form<?> form = new Form<Void>("uploadForm") {
/**
*
*/
private static final long serialVersionUID = -694488846250739923L;
protected void onSubmit() {
FileUpload uploadedFile = fileUpload.getFileUpload();
File newFile = new File(uploadedFile.getClientFileName());
picture.setImage(newFile);
PageParameters pageParameter = new PageParameters();
pageParameter.put("file", picture.getImage());
setResponsePage(DataPage.class,pageParameter);
}
};
add(form);
form.setMultiPart(true);
form.add(setFileUpload(new FileUploadField("fileUpload")));
}
谁知道怎么做呢,请帮我弄清楚。查看@user3241004中的删除链接,仅回答我是否发现您希望在页面中显示上载的图像作为标记,而您不知道如何创建html元素的src属性中所需的动态图像路径?(添加您正在使用的Wicket版本)我正在学习Wicket。它将从数据库中显示,但现在我只是在测试如何在没有数据库的情况下执行它。稍后,若要显示数据库中的图像,是否需要将字节转换回图像文件?另外,我不知道如何通过PageParameters传递DataPage中上传的图像。存储和显示数据库中的图像已经在StackOverflow上讨论过几次了。在两个页面之间,您可以使用您想要的任何对象创建一个合同,只是新页面必须有一个construtor,该construtor的对象类型是您需要成为合同主体的,例如,然后您调用该页面setResponsePage(新数据页(上载文件));
public DataPage(final PageParameters parameters) {
File file;
if (parameters.containsKey("file")) {
// WHAT TO DO HERE? SINCE GET() FROM PAGEPARAMETERS DOES NOT WORK FOR IT!
}
final Label result = new Label("result", ?????);
add(result);
}