/**
* springboot实现单文件上传
*/
@RestController
public class FileUpLoadController {
//先定义时间,用于文件分类
SimpleDateFormat sdf = new SimpleDateFormat("/yyyy/MM/dd/");
@PostMapping("/upload")
public String upload(MultipartFile file,HttpServletRequest req){
String format = sdf.format(new Date());
//将图片保存在项目路径下的img/年/月/日的文件夹下面
String realPath = req.getServletContext().getRealPath("/img") + format;
//根据路径创建一个文件夹
File folder = new File(realPath);
if (!folder.exists()){
folder.mkdirs();
}
//获取图片的名称
String oldName = file.getOriginalFilename();
//随机生成UUID来作为图片的前缀加上图片的格式jpg/png
String newName = UUID.randomUUID().toString()
+ oldName.substring(oldName.lastIndexOf("."));
try {
//将图片名字改为新名字
file.transferTo(new File(folder,newName));
//访问图片
String url = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort()
+ "/img" + format + newName;
return url;
} catch (IOException e) {
e.printStackTrace();
}
return "error0";
}
}
然后在static文件夹下面创建一个index的html页面
启动项目就可以上传文件了
二、使用ajax上传文件,前端代码可以这样写