栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot上传图片到服务器(springboot 上传图片)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot上传图片到服务器(springboot 上传图片)

问题描述:

前端页面实现头像图片上传并实时更新显示的功能,但是文件上传成功后不能实时显示,必须重启服务器后才能显示出来

下图是我将图片文件上到到的目录,及项目架构

问题发生的原因

这是服务器的自我保护机制,为了防止暴露绝对路径

SpringBoot 把静态的文件在启动的时候都会加载到classpath的目录下的,package时把static目录下的资源一起打包到了jar包或war包中,此时上传的图片并未传入启动了的项目中,所以访问不到。项目重启后又会打成新的jar包,包含上一次上传的的图片,此时才会在页面上显示

简单点说就是:上传图片后target包中没有加载重启服务器后target包内会重新加载

解决方式如下

配置静态资源映射

addResourceHandler("/static/images/upload/**"):这里面的是你需要映射的文件夹

addResourceLocations(“file:E:Allworkspacesidea-workspaceSpringBootstoresrcmainresourcesstaticimagesupload”):将里面的路径改为你自己图片上传保存位置的绝对路径,file不能掉

@Configuration
public class ImageUploadConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/images/upload/**").addResourceLocations("file:E:\Allworkspaces\idea-workspace\SpringBoot\store\src\main\resources\static\images\upload\");
    }
}
前端src访问路径(这也很重要)
/static/images/upload/CE6B29EE-085F-4E96-845E-EA969207BC95.JPG

/static/images/upload为你配置的映射路径后面的为你自己上传的文件名
访问这个路径就可以实时访问到图片,不会出现需要重启服务器的问题
这块位置切记!!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/775906.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号