作为我的应用程序的一部分,我在" /build/test-results/output/png/zpl-1.png"中保存了动态生成的png文件列表。在html页面中,我使用了以下所有内容:
<img src="/zpa/images/zpl-1.png" >
可以使用,但我保存的图片不会存放在此位置。
<img src="/zpa/build/resources/main/static/images/zpl-1.png" >
未加载(错误404)
<img src="file:///Users/sasi-kathimanda/STS/printing-agent/build/resources/main/static/images/zpl-1.png" >
未加载。
我的配置:
server:
port: 8090
contextPath: /zpa
答案 0 :(得分:2)
虽然我已将此问题标记为“春季启动”,但可能我在标题中遗漏了它可能会引起混淆。
所以这就是我如何解决它,问题在于在spring boot配置中配置静态Web资源。
@Configuration
public class StaticResourceConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/pngFiles/**")
.addResourceLocations("file:ext-resources/")
.setCachePeriod(0);
}
并使用<img src="/zpa/pnFiles/zpl-1.png">
在 index.html 中工作。
答案 1 :(得分:1)
您可以使用相对链接(开头没有斜线)来制作相对于包含图像的HTML文件的图像路径。您显示的所有三个链接都是绝对路径。
当您不知道要从哪里提供文件时,相对路径会很有用,例如当您只是查看HTML文件而不是实际使用服务器时。
例如,如果您的HTML文件位于zpa
文件夹中,
<img src="build/resources/main/static/images/zpl-1.png" >
答案 2 :(得分:1)
这些路径是服务器文件路径,只能在本地计算机(承载文件的计算机)上运行。
您需要将上传目录移动到服务器公共端的某个位置(即在文档根目录中)并使用相对路径
或
您需要一个服务器端脚本,可以从文档根目录之外的目录中获取图像,并将它们作为映像进行处理。
答案 3 :(得分:0)
**Outside server call image file using Spring Boot**
public class StaticResourceConfiguration extends WebMvcConfigurerAdapter{
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
String filePath = "E:/AshokParmar/Project/imges/";
registry.addResourceHandler("/img/qrcode/**")
.addResourceLocations("file:/"+filePath)
.setCachePeriod(0);
}
}
**in html file use below tags it works**
<img src="<c:url value="/img/qrcode/0012340012.png" />"/>
答案 4 :(得分:0)
亲爱的,
我已按照以下步骤解决了该问题。
步骤:
1.我的Apache Tomcat 9.0服务器安装位置为D:\ apache-tomcat-9.0.8 \ apache-tomcat-9.0.8
2.我在Tomcat安装文件夹的“ webapps”文件夹下创建了“ images”文件夹。
因此,我的文件夹结构为“ D:\ apache-tomcat-9.0.8 \ apache-tomcat-9.0.8 \ webapps \ images ”。
3.然后,我清除了浏览器历史记录并运行该应用程序。
现在图像已成功加载...