SpringBoot:为什么图片没有加载html <img src=""/>标签

时间:2016-03-01 22:21:08

标签: spring-boot

作为我的应用程序的一部分,我在&#34; /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

5 个答案:

答案 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.然后,我清除了浏览器历史记录并运行该应用程序。
现在图像已成功加载...