不得不写这个文章,因为好久没有被坑这么久了,先说说问题,ueditor的加载这个应该很简单,只要导对js文件就行。主要说一下图片后台配置的问题
后台使用的springboot框架,前台用的hui,hui中有ueditor插件,或者自己下载导入也行。重点说这几个注意事项。
1.ueditor.config.js中
2.切记是"/config",而没有上级路径,对于的Controller如下:Controller不加@RequestMapping("/xxx")
@Controller
public class UploadController {
@RequestMapping("/config")
public void config(HttpServletRequest request,HttpServletResponse response) {
response.setContentType("application/json");
org.springframework.core.io.Resource res = new ClassPathResource("static\\H-ui\\lib\\ueditor\\1.4.3.3\\jsp");
response.setCharacterEncoding("utf-8");
try {
String path = res.getURL().getPath().substring(1);
String rootPath = new ActionEnter( request, path ).exec();
PrintWriter out = response.getWriter();
out.write(rootPath);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 上传
* @param file
* @param req
* @param type 上传类型,head为头像上传,validate为身份验证图片上传,product为商品图片上传
* @return
*/
@RequestMapping("/upload")
public @ResponseBody ResultDTO upload(MultipartFile file,HttpServletRequest req){
ResultDTO dto;
String fileName;
try {
//获取后缀
String endFix = FileUtil.getEndFix(file.getOriginalFilename());
//拼接文件名
fileName =new Date().getTime()+"."+endFix;
String basePath = "/upload";
String path = req.getServletContext().getRealPath("/upload");
//创建一个空文件
File targetFile = new File(path,fileName);
if(!targetFile.exists()){
File parent = targetFile.getParentFile();
if (!parent.exists()) {
parent.mkdirs();
}
targetFile.createNewFile();
}
//写文件
file.transferTo(targetFile);
dto = ResultDTO.getIntance(true,basePath+"/"+fileName);
} catch (Exception e) {
e.printStackTrace();
dto = ResultDTO.getIntance(false,"上传失败,数据异常,请检查请求参数是否正确");
}
//拼接前台web路劲
return dto;
}
}
3.方法最好采用它自己的
String rootPath = new ActionEnter( request, path ).exec();
我自己写代码读这个json文件出现一种情况,上传图片不报错,也没有回显,应该也没有上传成功,因为我在整个电脑搜索以当天时间为名字的文件,搜索不到....
4.最好加上这么句代码
response.setContentType("application/json");
因为之前的修改我写的text/json和text/html全都不成功,不知道是哪个环节的问题
5.出现如下图所示
那是因为这个图片被上传到了config.jsp的同级目录的字节码目录,而且springboot访问同样是访问字节码目录:
6.加上访问前缀
7.然后终于OJBK!