packagecom.sz.controller;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.ResponseBody;importorg.springframework.web.multipart.MultipartFile;importjava.io.BufferedOutputStream;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.util.HashMap;importjava.util.Map;
@Controller
@RequestMapping("/upload")public classUploadController {//定义文件上传根路径
private String path = "D:" + File.separator + "upload";
@RequestMapping("/m1")
@ResponseBody//使用注解标记上传文件
public Map m1(@RequestParam("file")MultipartFile multipartFile, @RequestParam("name") String name){
System.out.println("普通的文本域:" +name);//如果不为空,再准备上传
Map map = new HashMap<>();int code = 4300;if(!multipartFile.isEmpty()) {
BufferedOutputStream bs= null;try{byte[] bytes =multipartFile.getBytes();//构建文件对象,准备上传
File file= newFile(path );//如果路径海不存在,则创建
if(!file.exists())
file.mkdirs();//获取文件原始名称
String originalFilename =multipartFile.getOriginalFilename();//获取文件前缀(比如hello.txt 取出hello)不含后缀
String prefix = originalFilename.substring(0,originalFilename.lastIndexOf("."));//获取文件后缀名 .txt
String suffix= originalFilename.substring(originalFilename.lastIndexOf("."));//上传后的文件名加上时间戳
String newFileName =prefix+System.currentTimeMillis()+suffix ;//构建文件对象
File uploadFile = new File(path+ File.separator +newFileName);//通过输出流写出
bs = new BufferedOutputStream(newFileOutputStream(uploadFile));
bs.write(bytes);
code= 2000;
}catch(IOException e) {
e.printStackTrace();
}finally{if(bs !=null){try{
bs.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
}
map.put("msg",code);returnmap;
}
}