I'd like to upload images to the server, store them in file system (outside server) and then display them on my JSF page.
I'd like to find something like this:
<?xml version="1.0" encoding="UTF-8"?>
<Context allowLinking="true" cookies="true" crossContext="true" override="true">
<Resources allowLinking="true"
className="com.triplemind.site.engine.SourceResolverContext"
homeDir="/home/myapp/files" />
</Context>
I found some solutions, but I wonder if there is a better way to do this.
- Configure static resources in JBOSS AS 7 (not answered)
- Replacement for context.xml in AS7? Access files outside the WAR? (not answered)
There are jBoss documentation I've found:
Any help will be appreciated. Thanks in advance
This method documented on the JBoss forums works for us in loading all the static resources from an exploded folder - which has to sit within JBOSS_HOME but at least not packaged in EAR/WAR.
https://community.jboss.org/wiki/HowToPutAnExternalFileInTheClasspath
I had to create a module folder called com/mycompany/main and add all the images in there.
Skip step 3 and use step 4 instead. (Manifest.MF entry - which works)
The image is now loaded using
URL imgUrl = this.getClass().getClassLoader().getResource("myimage.jpg");
Finally, I've decided to use FileServlet implemented by BalusC (link). This solution suits me for now. I've only changed its
basePath
to some certain path on my server.