package cn.itsource.utils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.io.IOUtils;
import org.springframework.web.multipart.MultipartFile;
// SpringMvc的上传功能工具类
public class UploadUtils {
public static String uploadFile(HttpServletRequest req, MultipartFile file){
if(!file.isEmpty()){
String realPath = req.getServletContext().getRealPath("/upload"); // 找到文件根路径下的上传文件路径
File file1 = new File(realPath);
if(!file1.exists()){
file1.mkdir();
}
// 添加UUID前缀解决上传文件重名问题
String filename = UUID.randomUUID().toString().replaceAll("-", "") + "_" + file.getOriginalFilename();
InputStream in = null;
FileOutputStream out = null;
try {
in = file.getInputStream();
out = new FileOutputStream(new File(realPath, filename));
IOUtils.copy(in, out); // 实现文件拷贝
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(out != null)
out.close();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if(in != null)
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return filename; // 上传成功后返回上传文件名
}
return null;
}
}