SpringMvc的文件上传,以及文件上传后的展示,简单明了!

搜了好久的csdn都没看到一个好的文件上传以及文件上传后的展示,只好自己写一个供大家使用了。少说话,多做事,直接上代码!

前端代码

<!--需要在form表单中加上enctype="multipart/form-data"来代表有文件进行上传-->
<form action="login" method="post" enctype="multipart/form-data">
    头像<input type="file" name="file"/>
    账号<input type="text" name="username" /><br>
    密码<input type="text" name="password"/>
    <input type="submit" value="按钮"/>
</form>

后端代码

在参数上定义MultipartFile来接受前端发送的文件

然后创建File类来保存文件,详细看下面注释。

 	// 定义一个File类用来初始化项目根路径
	public static File f = new File("");
	
	// 定义一个url来接收项目路径地址
    public static String url;
	
	// 构建无参构造器,用来创建bean的时候直接给url初始化项目跟路径
    public UserController() throws IOException {
        url = f.getCanonicalPath()+"\\computer_association\\src\\main\\resources\\static\\imgs\\";
      // f.getCanonicalPath() 得到的是项目根路径,
    }

    @PostMapping("/login")
    public String login(@RequestParam("file") MultipartFile file,
                        Model model){
        try {
          	// 创建文件
          	// file.getOriginalFilename()获取文件的名字。
            file.transferTo(new File(url+file.getOriginalFilename()));
          	// 放到请求域当中,value为文件的路径。
            model.addAttribute("photo","imgs/"+file.getOriginalFilename());
            model.addAttribute("msg","上传成功");
            return "test";
        } catch (IOException e) {
            e.printStackTrace();
            model.addAttribute("msg","上传失败");
            return "test";
        }

    }

定义上传文件大小的值

spring:
  servlet:
      multipart:
        max-file-size: 5MB  # 单个文件上传的最大值
        max-request-size: 10MB  # 请求上传文件的最大值(相当于上传多个文件的最大值)

前端模板引擎只需要在请求域当中获取key即可显示图片,我这里就不做演示了

打完收工,完活!

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页