Controller对象
String uploadFolder = "/a/b/c"; //文件上传路径
/**
* 上传文件
*/
@RequestMapping(value = "/fileUpload", method = RequestMethod.POST)
public String fileUpload(@RequestParam("file") MultipartFile[] files) {
//文件上传
if(files == null || files.length != 1){
return 失败;
}else{
MultipartFile file = files[0];
if (!file.isEmpty()) {
String suffix = null;
try {
suffix = file.getOriginalFilename().substring(file.getOriginalFilename().indexOf(".") + 1);
} catch (Exception e) {
return 失败;
}
String path = FileUtils.upLoadMultiFile(file, uploadFolder);
if(path == null || "".equals(path)){
return "失败";
}
//文件信息
Integer.parseInt(String.valueOf(file.getSize()));//文件大小
suffix;//文件类型
path;//上传路径
}
}
return 成功;
}
FileUtils工具类
/**
* 文件上传并保存轨迹
* @param file
* @param uploadFolder
* @return
*/
public static String upLoadMultiFile(MultipartFile file, String uploadFolder){
try {
String suffix = null;
try {
suffix = file.getOriginalFilename().substring(file.getOriginalFilename().indexOf(".") + 1);
} catch (Exception e) {
return null;
}
String fileName = UUID.randomUUID().toString().replaceAll("-", "") + "." + suffix;
String upload = uploadFolder+File.separator + DateUtil.formatDate(new Date(),"yyyyMMdd")+ File.separator + fileName;
File dest = new File(uploadFolder+File.separator + DateUtil.formatDate(new Date(),"yyyyMMdd")+ File.separator + fileName);
// 检测是否存在目录
if (!dest.getParentFile().exists()) {
System.out.println("目标文件所在目录不存在,准备创建。。。。");
if(!dest.getParentFile().mkdirs()) {
System.out.println("上传文件失败,创建目标文件所在目录失败!");
return null;
}
dest.getParentFile().mkdirs();
}
BufferedOutputStream out = null;
try {
out = new BufferedOutputStream(new FileOutputStream(dest));
out.write(file.getBytes());
out.flush();
}catch (Exception e){
e.printStackTrace();
return null;
}finally {
if(out != null){
out.close();
}
}
return upload;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}