java - 如何通过 CSS 显示上传的图像
问题描述
我想通过 primefaces:fileUpload 上传图像,然后将其显示在 div 上,例如使用 css。
我已经可以将图像保存在服务器上:
public void upload() throws IOException, URISyntaxException {
if (logo != null) {
File fileImage = new File(System.getProperty("jboss.server.data.dir"), "uploads.png");
BufferedImage img = ImageIO.read(new ByteArrayInputStream(logo.getContents()));
if (fileImage.exists()) {
fileImage.delete();
}
ImageIO.write(img, "png", fileImage);
}
}
然后我尝试获取文件的网络路径,但没有奏效:
public String getImagePath(){
File fileImage = new File(System.getProperty("jboss.server.data.dir"), "uploads.png");
Set<String> set = FacesContext.getCurrentInstance().getExternalContext().getResourcePaths(fileImage.getAbsolutePath());
return set.iterator().next();
}
我需要这样的东西:
/ewarehouse/javax.faces.resource/dynamiccontent.properties.xhtml?ln=primefaces&v=6.2&v=6.2&pfdrid=f52e395e4f38c09a1990e8f9d0c5806d&pfdrt=sc&pfdrid_c=true
有人可以帮助我或有其他方法吗?
解决方案
它为我创建了一个 servlet 并引用了文件位置。
background-image: url('#{'/'}ewarehouse#{'/'}images//dynamic#{'/'}?file=uploads.png')
在 css 中它看起来有点奇怪,但这样它工作了感谢@JasperdeVries 和 @Kukeltje 的回答
推荐阅读
- javascript - 迭代打字稿中的分组对象
- reactjs - 如何修复 - 找不到模块“@okta/okta-react”的声明文件 - 错误?
- c# - Azure 函数返回错误 - 未找到作业函数
- reactjs - 使用 React 在网页上显示 MockServer 返回的图像?
- python-3.x - 尝试检查符号字符串的问题
- java - 为什么要关闭 resourceResolver 对象
- asp.net-core - 如何覆盖默认文化(本地化)ABP.IO?
- laravel - Laravel 将动态值存储到配置文件或任何文件中
- javascript - 应该将 Snapshot 笑话单元测试与 Angular 相匹配
- rest - 使用 WCF-WebHttp 适配器从 BizTalk Server 使用 REST 服务器方法