WebApplicationPath
- это IResourceFinder
, который будет искать ресурсы в пути к веб-приложению, кроме папки WEB-INF/
. Поэтому вы не можете использовать его для загрузки чего-либо из вашей файловой системы.
Я бы предложил вам использовать FileSystemResource[Reference]
или специализацию DynamicImageResource
.
private static class ImageResource extends DynamicImageResource {
@Override
protected byte[] getImageData(Attributes attributes) {
PageParameters parameters = attributes.getParameters();
StringValue name = parameters.get("name");
byte[] imageBytes = null;
if (name.isEmpty() == false) {
imageBytes = getImageAsBytes(name.toString());
}
return imageBytes;
}
private byte[] getImageAsBytes(String imageName) {
// read the image from the file system, e.g. with FileInputStream(folder, imageName);
}
@Override
public boolean equals(Object that) {
return that instanceof ImageResource;
}
}
Статью, объясняющую этот подход, можно найти по адресу: http://wicketinaction.com/2011/07/wicket-1-5-mounting-resources/