1首先给大家两个直接可以粘过去用的方法
package com.vtax.utils.importUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
public class FileName {
/**
*
* @param file 文件
* @param path 文件存放路径
* @param fileName 源文件名
* @return
*/
public static boolean upload(MultipartFile file, String path, String fileName){
// 生成新的文件名
//String realPath = path + "/" + FileNameUtils.getFileName(fileName);
//使用原文件名
String realPath = path + "/" + fileName;
File dest = new File(realPath);
//判断文件父目录是否存在
if(!dest.getParentFile().exists()){
dest.getParentFile().mkdir();
}
try {
//保存文件
file.transferTo(dest);
return true;
} catch (IllegalStateException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
}
再来一个(两个大家也可以和在一起)
package com.vtax.utils.importUtils;
import java.util.UUID;
public class FileNameUtils {
/**
* 获取文件后缀
* @param fileName
* @return
*/
public static String getSuffix(String fileName){
return fileName.substring(fileName.lastIndexOf("."));
}
public static String getUUID(){
return UUID.randomUUID().toString().replace("-", "");
}
/**
* 生成新的文件名
* @param fileOriginName 源文件名
* @return
*/
public static String getFileName(String fileOriginName){
return getUUID() + FileNameUtils.getSuffix(fileOriginName);
}
}
3.然后是方法的具体实现(直接看代码说话)
/**
*
* @param file
* 要上传的文件
* @return
*/
@RequestMapping("/fileUpload")
@ResponseBody
@ApiOperation(value = "上传文件", httpMethod = "POST", notes = "上传文件")
public String upload(@RequestParam("fileName") MultipartFile file) {
// 上传成功或者失败的提示
String msg = "";
// 要上传的目标文件名称
String fileName = FileNameUtils.getFileName(file.getOriginalFilename());
// 要上传的目标文件存放路径(这里就直接存到E盘了,到时候大家根据个人需要更改)
String localPath = "E:\";
if (FileName.upload(file, localPath, fileName)) {
// 上传成功,给出页面提示
msg = "上传成功!";
} else {
msg = "上传失败!";
}
return msg;
}
上面这个方法在controller中,到时候前天代码直接调用这个方法就可以上传了,大家可以试试,有什么问题欢迎大家留言咨询,和大家一起交流学习.