后端部分
- 文件上传工具类
/**
* 〈文件上传〉
*
* @author Peter.Gu
* @create 2019-03-12
* @since 1.0.0
*/
public class KitFileUtil {
private static ServletContext servletContext;
public Map<String, Object> kitFileUtil(@RequestParam("uploadFiles") MultipartFile[] uploadFiles, HttpServletRequest request, HttpServletResponse response) {
if (uploadFiles.length==0){
return getError("未选择文件!");
}
// 文件保存目录路径
String savePath = request.getSession().getServletContext().getRealPath("") + "/";
System.out.println("正确路径:" + savePath);
//文件保存目录URL
String saveUrl = request.getContextPath() + "/";
//定义允许上传的文件扩展名
HashMap<String, String> extMap = new HashMap<String, String>();
extMap.put("image", "gif,jpg,jpeg,png,bmp");
extMap.put("flash", "swf,flv");
extMap.put("video", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb,mp4");
extMap.put("file", "doc,docx,xls,xlsx,ppt,txt,zip,rar,gz,bz2");
extMap.put("audio","mp3,mid,wma,amr,m4a,aif,wav");
//最大文件大小
long maxSize = 11000000;
response.setContentType("text/html; charset=UTF-8");
//判断客户端<form>标记的enctype属性是否是“multipart/form-data"
if (!ServletFileUpload.isMultipartContent(request)) {
return getError("请选择文件。");
}
//检查目录
File uploadDir = new File(savePath);
if (!uploadDir.exists()) {
uploadDir.mkdir();
//return getError("上传目录不存在。");
}
//检查目录写权限
if (!uploadDir.canWrite()) {
return getError("上传目录没有写权限。");
}
//获取请求中dir的参数
String dirName = request.getParameter("dir");
if (dirName == null) {
dirName = "image";
}
//校验文件格式(map)中是否存在该键
if (!extMap.containsKey(dirName)) {
return getError("目录名不正确。");
}
//生成文件目录
savePath += dirName + "/";
saveUrl += dirName + "/";
//判断目录是否存在,不存在则创建文件夹
File saveDirFile = new File(savePath);
if (!saveDirFile.exists()) {
saveDirFile.mkdirs();
}
//创建年月日目录,
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String ymd = sd