dfh233 2024-04-12 17:39 采纳率: 0%
浏览 31

上传图片无法正常显示

前端上传图片后显示不出来

<div class="form-group row">
                                            <label class="col-md-2 col-form-label">菜品图像</label>
                                            <div class="col-md-10">
                                                <img th:src="'../../images/picture/'+${food.fimage}" alt="product-img"/>
                                                <input class="form-control" type="file"  name="file">
                                            </div>
                                        </div>

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-12 17:39
    关注

    引自免费微信小程序:皆我百晓生

    在您的HTML代码中,您尝试通过Thymeleaf模板引擎来动态加载图片。为了确保图片可以正确显示,您可以检查以下几个方面:

    1. 图片路径是否正确:确认图片文件(${food.fimage})存储的位置与提供的相对路径('../../images/picture/' + ${food.fimage})是否匹配。确保图片位于服务器的预期位置。

    2. Thymeleaf表达式是否正确解析:检查Spring Boot应用是否正确配置了Thymeleaf模板引擎,并且在运行时能正确解析${food.fimage}变量。

    3. 文件名编码:确认图片文件名没有特殊字符或者非ASCII字符,这可能会导致路径问题。

    4. 权限问题:服务器是否有权限访问和读取图片文件?

    5. 浏览器缓存:清除浏览器缓存,然后刷新页面,有时候浏览器可能缓存了旧的图片信息。

    6. HTML结构:确保整个表单元素的结构正确无误。

    针对上述建议,您可以进行如下操作:

    首先,确保图片路径正确。在服务器上找到实际存放图片的目录,确认图片文件名与 ${food.fimage} 变量所代表的值相匹配。

    其次,如果图片路径正确但仍然无法显示,可能是Thymeleaf模板引擎的问题。检查Spring Boot项目的pom.xml文件,确保已经添加了Thymeleaf依赖项,例如:

    <!-- 添加Thymeleaf依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    

    同时,在application.properties或application.yml中,配置Thymeleaf为默认视图解析器,例如:

    # application.properties
    spring.thymeleaf.enabled=true
    spring.thymeleaf.prefix=classpath:/templates/
    spring.thymeleaf.suffix=.html
    

    或者

    # application.yml
    spring:
      thymeleaf:
        enabled: true
        prefix: classpath:/templates/
        suffix: .html
    

    再次,确认浏览器缓存已清理,或者尝试在隐私模式下打开网页,以避免缓存影响。

    最后,确保HTML结构正确,这里是一个简化版的例子,展示了如何正确地将图片和文件输入框结合在一起:

    <!DOCTYPE html>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
        <title>Image Upload</title>
    </head>
    <body>
        <form method="post" enctype="multipart/form-data">
            <div class="form-group row">
                <label class="col-md-2 col-form-label">菜品图像</label>
                <div class="col-md-10">
                    <img src="/images/picture/${food.fimage}" alt="product-img" />
                    <input type="file" name="file" />
                </div>
            </div>
            <button type="submit" class="btn btn-primary">提交</button>
        </form>
    </body>
    </html>
    

    请注意,这里的URL路径是 /images/picture/${food.fimage},确保服务器端有处理这个请求并返回图片的方法。

    如果以上步骤都按照要求做了,但图片仍无法显示,那可能就需要查看服务器日志,看看是否存在任何错误信息。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月12日