CKEditor 上传文件后返回的内容

来源:互联网 发布:淘宝模块信息怎么写 编辑:程序博客网 时间:2024/05/16 14:56

注意针对SpringMvc模式

1、修改ckeditor 的配置文件 config.js

config.filebrowserUploadUrl = "fileUpload.html?type=Files&filePath=ckeditor";//上传文件的保存路径config.filebrowserImageUploadUrl = 'fileUpload.html?type=Images&filePath=ckeditor';//上传图片的保存路径config.filebrowserFlashUploadUrl = 'fileUpload.html?type=Flash&filePath=ckeditor';//上传flash的保存路径



2、编写文件上传接受控制器

/** * CKEDITOR 插件文件上传 * @param request * @param response * @return */@RequestMapping(value = "fileUpload.html")@ResponseBodypublic String processImageUpload(HttpServletRequest request,HttpServletResponse response) {String callback = request.getParameter("CKEditorFuncNum");Site site = this.getCurrentSite();String urlPrefix = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort();request.getRequestURI();CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());MultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext());commonsMultipartResolver.setDefaultEncoding("utf-8");Map mapPath=new HashMap();try {response.setContentType("text/html; charset=UTF-8");            response.setHeader("Cache-Control", "no-cache");            PrintWriter out = response.getWriter();site = siteService.getSite(site.getSiteId());if (commonsMultipartResolver.isMultipart(request)) {MultipartHttpServletRequest multipartRequest = resolver.resolveMultipart(request);Iterator<String> iter = multipartRequest.getFileNames();while (iter.hasNext()) {MultipartFile file = multipartRequest.getFile((String) iter.next());System.out.println(file.getName());//文件上传机制包含重名mapPath = this.disposeFilePath(file,site,null,true,false,false);}if(StringUtils.isEmpty(mapPath.get("imageurl").toString())){String imgPath = urlPrefix + mapPath.get("imageurl");out.println("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction(" + callback+ ",'" + imgPath + "','图片上传失败'" + ")"+"</script>");}else{String imgPath = urlPrefix + mapPath.get("imageurl");out.println("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction(" + callback+ ",'" + imgPath + "',''" + ")"+"</script>");}out.flush();        out.close();}} catch (Exception e) {e.printStackTrace();}return null;}


某些环境下在获取 iter文件出现空

Iterator<String> iter = multipartRequest.getFileNames();

可以试试

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;Iterator<String> iter = multipartRequest.getFileNames();



0 0
原创粉丝点击