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

SpringBoot集成SpringSecurity图片上传实时刷新

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

SpringBoot集成SpringSecurity图片上传实时刷新

SpringBoot集成SpringSecurity图片上传实时刷新 1、问题

因为SpringBoot集成了SpringSecurity图片上传访问就有问题了,SpringSecurity会过滤掉一些静态文件,而且这时已经不能用WebMvcConfigurer去映射静态文件路径,但Spring官网给了我们另一个解决办法,WebMvcConfigurationSupport集成这个类,然后重写addResourceHandlers方法,这样就可以解决了,至于在配置文件配置静态资源文件路径这是没有用的,而且这个配置已经过期了,揪起根本就是本地文件映射到路径上去,url不能访问到本地的图片,如果不映射根本无法加载本地图片,废话少说,上代码。

2、配置类
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {

    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        //class目录下的
        registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
        //windows目录下的
        registry.addResourceHandler("/fileupload/**").addResourceLocations("file:D:/fileupload/");
    }
}
3、controller控制层
//修改头像
@RequestMapping("/headImg")
public Object headImg(MultipartFile file,
                      HttpSession session,
                      Model model) throws Exception {
    Long id= (Long) session.getAttribute("loginUser");
    // 将文件接收后,存放一个固定地方,然后将路径拿过来
    String name = file.getOriginalFilename();
    try {
        Path path= Paths.get("D:","fileupload",id+name);
        // 存放
        file.transferTo(path);
        // 文件在前端访问的src
        String src = "/fileupload/";
        String url1 = URLDecoder.decode(src);
        //图片存放到数据库
        userService.upload_Img(id,id+name);
        User user=userService.freshInfo(id);
        session.setAttribute("head",url1+user.getPhot_url());
    }catch (IOException e){
        e.printStackTrace();
        model.addAttribute("e_msg","上传失败!");
        return "info_profile";
    }
    model.addAttribute("s_msg","上传成功!");
    return "back/info_profile";
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760647.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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