如何获取公共Webcontent资源的InputStream?
我在WAR中打包了一组图像,并使用
在
描述它们。 图像位于/resources/icons
文件夹中。 我希望能够在提交时选择图像并将此图像的副本保存到磁盘。
如何才能做到这一点? 如何获得此图像的引用( InputStream
或其他)?
鉴于此文件夹结构,
YourProject | - src | ` - com | ` - 例子 | ` - BackingBean.java | - WebContent | | - META-INF | | - WEB-INF | | - 资源 | | ` - 图标 | | ` - foo.png | ` - foo.xhtml :
您可以通过ExternalContext#getResourceAsStream()
获取它,它采用webcontent相对路径:
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); InputStream input = externalContext.getResourceAsStream("/resources/icons/foo.png"); // ...
或者通过Resource#getInputStream()
其中Resource
是从ResourceHandler#createResource()
获取的,它采用/resources
-relative路径:
ResourceHandler resourceHandler = FacesContext.getCurrentInstance().getApplication().getResourceHandler(); InputStream input = resourceHandler.createResource("icons/foo.png").getInputStream(); // ...
至于选择图像并传递其路径,只需执行以下操作:
也可以看看:
- getResourceAsStream()vs FileInputStream
- 在基于servlet的应用程序中放置位置以及如何读取配置资源文件?
- Maven和JSF webapp结构,完全放置JSF资源
- 如何在java中制作倒数计时器
- isAssignableFrom with reference和primitive类型
- 什么版本的JaspeReports支持Java 8?
- List Iterator的add()方法对迭代器做了什么?
- 如何在JavaFX8中调整SwingNode内部的Swing控件?
- 是否有任何OSS库或纸张执行单声道位图的矢量路径跟踪?
- 使用Thumbnailator,无论图像大小如何,我都能制作相同高度和宽度的缩略图
- Java – 如果在combox1中选择了一个值,那么它应该在所有其他combobox中禁用
- 是否有可能使eclipse生成hashCode并与HashCodeBuilder和EqualsBuilder相等