博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
富文本编辑器
阅读量:4686 次
发布时间:2019-06-09

本文共 9184 字,大约阅读时间需要 30 分钟。

富文本编辑器的配置

<dependency>

com.gitee.qdbp.thirdparty
ueditor
1.4.3.3
org.json
json
20160810
com.sun.jersey
jersey-client
1.19
 
#富文本编辑器 #host地址 host=http://192.168.1.148:8080/fupin1001  (当地的文件,无关紧要,在实际应用中) #文件上传服务器地址(ip+端口) uploadHost=http://113.141.72.57:8888/lunbo/    (图片服务器上传之后的样子也就是拼接的路径) #普通图片上传保存目录 imagePath = file/image/ #系统用户头像上传保存目录 headImgPath = file/image/headImg/ #系统用户默认头像 sysUserDefImg = sysUser-default.jpg #文本文件上传保存目录 documentPath = file/document/ #音频文件上传保存目录 soundPath = file/sound/ #视频文件上传保存目录 videoPath = file/video/ #ueditor编辑器上传文件保存目录(包括图片、视频、音频、文本等文件) #ueditor = /home/ftp/evidence ueditor = G:\\ceshi\\image\\  (本地测试,上传照片)
 
相应的上传,需要前端配合使用正确的路径
package com.sysh.web.controller; import java.io.File; import java.io.PrintWriter; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.sysh.util.ImageUtil; import com.sysh.util.ResultData; import com.sysh.util.SftpUtil; import com.sysh.utils.ResponseUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartResolver; import org.springframework.web.multipart.commons.CommonsMultipartResolver; import com.sysh.baidu.ueditor.ActionEnter; //import com.sysh.utils.ResponseUtils; import com.sysh.utils.Upload; import com.sun.jersey.api.client.Client; import net.sf.json.JSONObject; /**  * Created by sjy Cotter on 2018/10/25.  */ @RestController @RequestMapping("/ueditor") public class UEditorController {
private Logger log =Logger.getLogger(this.getClass()); @RequestMapping(value="/ueditorUpload.do", method={RequestMethod.GET, RequestMethod.POST}) public ResultData config(HttpServletRequest request, HttpServletResponse response,String content) {
response.setContentType("application/json"); String rootPath = request.getSession() .getServletContext().getRealPath("/"); String exec = new ActionEnter(request, rootPath).exec(); //log.info("得到的exec"+content.toString()); return ResultData.returnResultData(ResultData.RESULT_SUCCESS,"ok","成功"); } //@Value(value="${ueditor}") //后台图片保存地址 //private String ueditor; //@Value(value="${uploadHost}") //wwprivate String uploadHost; //项目host路径 public ResultData Img(HttpServletRequest request, HttpServletResponse response,String content) {
response.setContentType("application/json"); String rootPath = request.getSession().getServletContext().getRealPath("/"); try {
MultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext()); MultipartHttpServletRequest Murequest = resolver.resolveMultipart(request); Map
files = Murequest.getFileMap();//得到文件map对象 // 实例化一个jersey Client client = new Client(); for(MultipartFile pic: files.values()){
JSONObject jo = new JSONObject(); long size = pic.getSize(); //文件大小 String originalFilename = pic.getOriginalFilename(); //原来的文件名 String uploadInfo = Upload.upload(client, pic, request, response, uploadHost, ueditor); if(!"".equals(uploadInfo)){ //如果上传成功 String[] infoList = uploadInfo.split(";"); jo.put("state", "SUCCESS"); jo.put("original", originalFilename);//原来的文件名 jo.put("size", size);//文件大小 jo.put("title", infoList[1]);//随意,代表的是鼠标经过图片时显示的文字 jo.put("type", FilenameUtils.getExtension(pic.getOriginalFilename()));//文件后缀名 jo.put("url", infoList[2]);//这里的url字段表示的是上传后的图片在图片服务器的完整地址(http://ip:端口/***/***/***.jpg) }else{ //如果上传失败 } //ResponseUtils.renderJson(response, jo.toString()); return ResultData.returnResultData(ResultData.RESULT_SUCCESS,"ok",jo.toString()); } }catch (Exception e) {
e.printStackTrace(); } return ResultData.returnResultData(ResultData.DATA_FALSE,"false"); } //@Value(value="${ueditor}") //后台图片保存地址 @Value("#{prop.ueditor}") private String ueditor; //@Value(value="${uploadHost}") @Value(("#{prop.uploadHost}")) private String uploadHost; //项目host路径 @RequestMapping(value="/ueditorUploadImg.do", method={RequestMethod.GET, RequestMethod.POST}) public void editorUpload(HttpServletRequest request, HttpServletResponse response, String action) {
response.setContentType("application/json"); String rootPath = request.getSession().getServletContext().getRealPath("/"); try {
if("config".equals(action)){ //如果是初始化 String exec = new ActionEnter(request, rootPath).exec(); PrintWriter writer = response.getWriter(); writer.write(exec); writer.flush(); writer.close(); }else if("uploadimage".equals(action) || "uploadvideo".equals(action) || "uploadfile".equals(action)){ //如果是上传图片、视频、和其他文件 try {
//MultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext()); //MultipartHttpServletRequest Murequest = resolver.resolveMultipart(request); MultipartHttpServletRequest Murequest =(MultipartHttpServletRequest)request; Map
files = Murequest.getFileMap();//得到文件map对象 // 实例化一个jersey Client client = new Client(); for(MultipartFile pic: files.values()){
JSONObject jo = new JSONObject(); long size = pic.getSize(); //文件大小 String originalFilename = pic.getOriginalFilename(); //原来的文件名 //String uploadInfo = Upload.upload(client, pic, request, response, uploadHost, ueditor); String[] txt1 = originalFilename.split("\\."); String txt = txt1[txt1.length - 1]; if (StringUtils.isBlank(originalFilename)) {
continue; } File tempFile = new File(ueditor, originalFilename); Long ss = System.currentTimeMillis(); File newfile = new File(tempFile.getParent() + File.separator + ss + "." + txt); tempFile.renameTo(newfile); if (tempFile.exists()) {
//newfile = new File(tempFile.getParent() + File.separator + ss+"."+txt); tempFile.renameTo(newfile); } if (!newfile.exists()) {
newfile.getParentFile().mkdirs(); try {
newfile.createNewFile(); pic.transferTo(newfile); //ImageUtil imageUtil = new ImageUtil(); Integer isUpload=0; SftpUtil sftpUtil=new SftpUtil(); isUpload=sftpUtil.LunboUpload(ss + "." + txt, ss); if(isUpload==0) {
//return ResultData.returnResultData(ResultData.DATA_FALSE,"上传失败"); ResponseUtils.write(response, null); } } catch (Exception e) {
e.printStackTrace(); } } String uploadInfo=uploadHost+ss+"."+txt; if(!"".equals(uploadInfo)){ //如果上传成功 String[] infoList = uploadInfo.split(";"); jo.put("state", "SUCCESS"); jo.put("original", originalFilename);//原来的文件名 jo.put("size", size);//文件大小 //jo.put("title", infoList[1]);//随意,代表的是鼠标经过图片时显示的文字 jo.put("type", FilenameUtils.getExtension(pic.getOriginalFilename()));//文件后缀名 jo.put("url", uploadHost+ss+"."+txt);//这里的url字段表示的是上传后的图片在图片服务器的完整地址(http://ip:端口/***/***/***.jpg) }else{ //如果上传失败 } ResponseUtils.write(response, jo.toString()); //log.info(jo.toString()); } }catch (Exception e) {
e.printStackTrace(); } } } catch (Exception e) {
} } }
经最终测试,我只实现了第二种方法,第二个方法属于投机取巧,也算对上传的另一种解释动用了我前面文档提到的ftp传输
他的这个采用的是另一种返回方式,所以为了迎合前端的配合,所以尽量原样返回
 

转载于:https://www.cnblogs.com/xuanyuer/p/9919368.html

你可能感兴趣的文章
从一个针对ASP.NET MVC框架的Controller.Action的请求处理顺序来说整个请求过程。
查看>>
pandas read excel文件碰到的一个小问题
查看>>
教师发表职称论文须注意事项
查看>>
libGDX简介
查看>>
《深入理解计算机系统(第三版)》第二章学习总结
查看>>
JavaScript专题——专题三 JavaScript 面向对象
查看>>
快速排序
查看>>
crontab调用python脚本新思路
查看>>
df和du显示的磁盘空间使用情况不一致的原因及处理(文件删除后磁盘空间不释放)...
查看>>
进程与线程的关系与区别
查看>>
第一次使用maven记录
查看>>
SharePoint服务器端对象模型 之 使用CAML进展数据查询
查看>>
Building Tablet PC Applications ROB JARRETT
查看>>
Adobe® Reader®.插件开发
查看>>
【POJ 3461】Oulipo
查看>>
Alpha 冲刺 (5/10)
查看>>
使用Siege进行WEB压力测试
查看>>
斑马为什么有条纹?
查看>>
android多层树形结构列表学习笔记
查看>>
Android_去掉EditText控件周围橙色高亮区域
查看>>