kindeditor的使用问题,请教!

cswhgloveu 2020-09-09 06:23:17
kindeditor的图片上传,报如下错误,在网上找了很久资料也没解决,借此宝地,求大神指教:

1、图片上传其实也成功了。2、图片上传路径、类型也入库成功了。
就是报如下错误。

org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException(AbstractHandlerExceptionResolver.java:197) - Resolved [org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class java.util.HashMap]

配置情况:pom.xml ,这些也是最新的了。

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.11.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.11.2</version>
</dependency>
<dependency>
<!-- spring mvc-json 依赖-->
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.2</version>
</dependency>

在异常上暂停
JSON parse error

controller 部分代码
@RequestMapping(value ="/fileUpload")
@ResponseBody
public Map<String, Object> fileUpload(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException,
FileUploadException {
//这里的路径可以是绝对路径,也可以获取项目下的目录,这里使用的是绝对路径;
//String savePath = request.getServletContext().getRealPath("/")+"yourPath/" ;

ServletContext application = request.getSession().getServletContext();


String savePath = application.getRealPath("/")+"kindeditor/" ;
//这里的路径需要符合下面另一个RequestMapping方法
// String saveUrl = request.getContextPath() + "/kindeditor/";
String saveUrl = request.getContextPath() + "/kindeditor/";

// 定义允许上传的文件扩展名
HashMap<String, String> extMap = new HashMap<String, String>();
extMap.put("image", "gif,jpg,jpeg,png,bmp");
extMap.put("flash", "swf,flv");
extMap.put("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb");
extMap.put("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2");

// 最大文件大小 ,这里可以调节
long maxSize = 1000000;

response.setContentType("text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
if (!ServletFileUpload.isMultipartContent(request)) {
// return "e";
return getError("请选择文件。");
}
String dirName = request.getParameter("dir");
if (dirName == null) {
dirName = "image";
}
if (!extMap.containsKey(dirName)) {
return getError("目录名不正确。");
// return "e" ;
}
// 创建文件夹
savePath += dirName + "/";
saveUrl += dirName + "/";
File saveDirFile = new File(savePath);
if (!saveDirFile.exists()) {
saveDirFile.mkdirs();
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
// DateUtils sdf= new DateUtils();

String ymd = sdf.format(new Date());
savePath += ymd + "/";
saveUrl += ymd + "/";
File dirFile = new File(savePath);
if (!dirFile.exists()) {
dirFile.mkdirs();
}
//这里需要后台springmvc-servlet.xml配置multipartResolver
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
multipartRequest.setCharacterEncoding("UTF-8");
MultipartFile qqfile =multipartRequest.getFiles("imgFile").get(0);
String oldName=qqfile.getOriginalFilename();
String ext=qqfile.getOriginalFilename().substring(oldName.lastIndexOf(".") + 1);
if (!Arrays.<String>asList(extMap.get(dirName).split(",")).contains(ext)) {

return getError("<font size='3'>非常抱歉,目前上传附件格式类型只允许为:<br/>" + extMap.get(dirName)
+ ",你选择的文件【" + oldName + "】不符合要求,无法上传!</font>");
// return "e";
}
// String fileSizeNumber = fileMaxSize.substring(0, fileMaxSize.indexOf("M"));
// if (qqfile.getSize() > Long.valueOf(fileSizeNumber) * 1000 * 1000) {
// return getError("<font size='3'>您选择的文件【" + oldName+ "】大小超过" + fileMaxSize + "限制,无法上传!</font>");
// } 暂时注销

String fileName = null;
KindUploadFile uploadFile =null;
String size=this.calculateFileSize(qqfile.getSize());
try {
String createTime= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
fileName = this.upload(qqfile, savePath);
uploadFile = new KindUploadFile();
uploadFile.setName(oldName);
uploadFile.setPath(savePath+fileName);
uploadFile.setSize(size);
uploadFile.setCreateTime(createTime);
uploadFile.setExt(ext);
filesUploadService.save(uploadFile);
Map<String, Object> succMap = new HashMap<String, Object>();
succMap.put("error", 0);

System.out.println("whg"+ saveUrl +"files"+fileName);

succMap.put("url", saveUrl + fileName);
return succMap;
// return "html5" ;
// return Json(succMap, "text/html;charset=UTF-8") ;

} catch (Exception e) {
e.printStackTrace();
logger.error(e.getMessage());
return getError("<font size='3'>您选择的文件【" + oldName+ "】上传失败!原因是:" + e.getMessage() + "</font>");
// return "e" ;
}
}

...全文
65 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cswhgloveu 2020-10-27
  • 打赏
  • 举报
回复
已解决。已解决。已解决。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧