大家好,我是二阳子。在学习SpringBoot课程初期,遇到了文件上传的问题,下面是我的解决思路,如果有不足或错误之处,也希望大家多多指点,共同进步,谢谢!
一、首先去创建一个包含 web 依赖的SpringBoot项目
二、创建Html页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>uploadimg.html</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
文件:<input type="file" name="head_img">
姓名:<input type="text" name="name">
<input type="submit" value="上传">
</form>
</body>
</html>
三、其次创建一个控制层FileController
@Controller
public class FileController {
public Object index() {
return "index";
}
private static final String
//文件存储的路径
filepath="/Users/yang/IdeaProjects/26-NT/springboot124/src/main/resources/static/images/";
@RequestMapping(value = "upload")
@ResponseBody
public String upload(@RequestParam("head_img")MultipartFile file, HttpServletRequest request){
String name=request.getParameter ("name");
System.out.println ("用户名" + name );
//获取文件名称
String fileName=file.getOriginalFilename ();
System.out.println ("文件名" + fileName );
//获取文件后缀名
String suffixName=fileName.substring (fileName.lastIndexOf ("."));
System.out.println ("上传后的文件名" +suffixName );
//文件上传后的路径
fileName= UUID.randomUUID () + suffixName;
System.out.println ("转换后的名称" + fileName );
File dest=new File (filepath + fileName);
try {
file.transferTo (dest);
return fileName;
} catch (IOException e) {
e.printStackTrace ( );
}catch (IllegalStateException e){
e.printStackTrace ();
}
return "上传失败";
}
}
以上代码就是文件上传的整个流程啦,效果图如下:
下边这个是上传成功之后的显示:
至此,整个流程就完成啦,大家有什么疑问可以在评论区浏览哈,谢谢大家。