UMEditor文本编辑器的使用

本文介绍如何在BJUI前端框架下使用富文本编辑器实现图片上传功能,并详细解析了后端Java代码处理流程,包括图片格式验证、大小检查、上传路径配置及返回结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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>");
			}
		}
	}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值