springboot打war包图片的虚拟路径映射

Posted 辉少呢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot打war包图片的虚拟路径映射相关的知识,希望对你有一定的参考价值。

这里我将自己学习的项目为例子作个简单的记录:

html图片的路径如图:

 

 

 这里是头像路径的映射

然后要映射到阿里云Linux服务器上路径:

 

注意,这两个路径是不同的,只是同名而已,HTML那里的路径可以随便修改,到最后映射到这个路径就可以,当然映射到别的路径也可以

映射方法:

找到tomcat下的config下的server.xml文件

 

 

 

在Host节点加上下面的:

 

 

 

 前面是path是虚拟路径,对应的是HTML那里的代码,后面是真实路径,对应Linux上面真实路径

这里顺便放上后台接收上传头像的代码:

 @ResponseBody
    @RequestMapping("uploadImage")
    public DataGridView uploadImage(MultipartFile file, HttpSession session) throws Exception {
        DataGridView dataGridView = null;
        if (!file.isEmpty()){
            String filename = file.getOriginalFilename(); //abc.jpg
            String suffix = filename.substring(filename.lastIndexOf(".")); //后缀 如abc.jpg,就是jpg
            String newFileName = DateUtil.getCurrentDateStr() + suffix;  //新文件名
            FileUtils.copyInputStreamToFile(file.getInputStream(),new File(userImageFilePath+newFileName));
            Map<String,Object> map= new HashMap<>();
            map.put("src","/project/userImages/"+newFileName);
            map.put("title",newFileName);
            dataGridView = new DataGridView(0, "上传成功", map);

            User currentUser = (User) session.getAttribute("currentUser");
            currentUser.setImageName(newFileName);
            userService.save(currentUser);
            session.setAttribute("currentUser",currentUser);
            System.out.println("执行完了");
        }
        return dataGridView;
    }

顺便说下war包放到阿里云服务器上路径映射(域名或者IP直接访问项目根路径):

 <Context path="/" docBase="/home/tomcat/apache-tomcat-8.5.45/webapps/code007" debug="0"  reloadable="true"/> 

 

以上是关于springboot打war包图片的虚拟路径映射的主要内容,如果未能解决你的问题,请参考以下文章

springboot打war包,以及多个war包部署

springboot项目打war包,并部署到tomcat

SpringBoot项目打jar包和war包

springboot打war包

springboot项目打war包,开机自启动

Springboot打war包