(一)单文件文件上传
@RequestMapping(value = "https://www.it610.com/upload",method = RequestMethod.POST)
@ResponseBody
Map upLoad(@RequestParam("name") String name, @RequestParam("images") MultipartFile images, HttpServletResponse response){
if (!images.isEmpty()){
String fileName=DateFormat.getDate();
//获取当前时间为文件名
//String imageName=images.getOriginalFilename();
//获取上传文件的文件名,包含扩展名
//String path="F:/JavaProject/store/src/main/resources/static/images";
//文件存放的绝对路径
//File file1=new File(path,fileName+".jpg");
//路径和文件名
File file2=new File(fileName+".jpg");
//图片保存为jpg格式
try {
/*方法一:使用流*/
/* byte[] bytes=images.getBytes();
BufferedOutputStream outputStream=new BufferedOutputStream(new FileOutputStream(file1));
outputStream.write(bytes);
//写入文件
outputStream.close();
//关闭输出流
System.out.println(file);
*//*方法二:配置文件*/
//前提是在application.properties文件中配置了文件保存的路径
//#默认上传文件存储位置
//spring.servlet.multipart.location=F:/JavaProject/store/src/main/resources/static/images
images.transferTo(file2);
//将上传文件保存到目录文件
}catch (Exception e){
e.printStackTrace();
return ReturnMap.getMap(response.getStatus(),DateFormat.getDate(),"上传失败!");
}
return ReturnMap.getMap(response.getStatus(),DateFormat.getDate(),"上传成功!");
}
return ReturnMap.getMap(response.getStatus(),DateFormat.getDate(),"文件不存在!");
}
*注意: ReturnMap.getMap() 封装返回数据的方法
DateFormat.getDate() 封装时间类型的方法
(二)多文件上传:和单文件上传原理一样,改变为数组形式就可以了
@RequestMapping(value = "https://www.it610.com/uploads",method = RequestMethod.POST)
@ResponseBody
Map upLoads(@RequestParam("images") MultipartFile[] images,HttpServletResponse response
if (images.length>0){
try {
for (int i=0;
i
【Spring系列|SpringBoot实现文件上传/使用实现MultipartFile】}
补充:网页简单代码(这里只是为简单的测试,写得很简单)
文章图片
推荐阅读
- (JR)SpringBoot|SpringBoot 第一讲(图片上传MultipartFile)
- #|Spring Boot spring.factories 用法及原理
- 技术分享|SpringBoot 底层原理剖析
- springBoot|SpringBoot中Excel的上传
- 后端|2022 年最新 Java 后端薪资统计出炉,看看你有没有拖后腿
- 学习总结|SpringBoot知识点学习总结
- Springboot|Springboot 重点知识点最强整理
- SSM框架学习|SSM框架学习——SpringBoot之基础配置
- springcloud|eureka服务单节点搭建以及集群的搭建