js资源文件的引入
jsp引入富文本编辑器本例是BJUI前端框架
图片上传提交给控制器处理的路径配置在umeditor.config.js文件中设置
后台java代码的处理
@RequestMapping(value = "uploadImage.do", method = RequestMethod.POST)
public void uploadImage(HttpServletRequest request, HttpServletResponse response,
@RequestParam(value = "upfile", required = false) MultipartFile file) throws Exception {
String state = "SUCCESS";
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String fileName = file.getOriginalFilename();
String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
long fileSize = file.getSize();
if (!(fileType.equals("") || fileType.equalsIgnoreCase("gif") || fileType.equalsIgnoreCase("bmp")
|| fileType.equalsIgnoreCase("jpg") || fileType.equalsIgnoreCase("jpeg")
|| fileType.equalsIgnoreCase("png"))) {
state = "图片格式错误,仅支持jpg/png/gif/jpeg/bmp";
} else if (fileSize > 2 * 1024 * 1024) {
state = "图片大小不能超过2M";
} else {
InputStream fileInputStream = null;
String curDate = CommUtils.convertDateToString(new Date(), "yyyy-MM-dd");
String path = SystemConstant.IMG_PATH + "upload/cms/" + curDate;
try {
fileName = CommUtils.getUUID() + "." + fileType;
upLoadOss(file, "beadImg/upload/cms/" + curDate + "/" + fileName);
File targetFile = new File(path, fileName);
if (!targetFile.exists()) {
targetFile.mkdirs();
}
file.transferTo(targetFile);
} catch (Exception e) {
logger.error("", e);
} finally {
if (fileInputStream != null) {
try {
fileInputStream.close();
} catch (IOException e) {
logger.error("", e);
}
}
}
String remoteFilePath = SystemConstant.IMG_URL + "beadImg/upload/cms/" + curDate + "/" + fileName;
String callback = request.getParameter("callback");
String result = "{\"name\":\"" + fileName + "\", \"originalName\": \"" + file.getOriginalFilename()
+ "\", \"size\": " + fileSize + ", \"state\": \"" + state + "\", \"type\": \"" + fileType
+ "\", \"url\": \"" + remoteFilePath + "\"}";
result = result.replaceAll("\\\\", "\\\\");
if (callback == null) {
response.getWriter().print(result);
} else {
response.getWriter().print("<script>" + callback + "(" + result + ")</script>");
}
}
}