/** * ckeditor粘贴的图片上传并返回访问路径 * @param request * @param response */ public void uploadImage(HttpServletRequest request,HttpServletResponse response){ try { String src=request.getParameter("src"); if(src==null || src.trim().length()==0){ JsonUtils.sendJson("{'success':false}", response); }else{ String[] srcArr = src.split(";base64,");//data:image/png;base64,iVBORw0KGgoAA //文件后缀 String fileSuffixes = srcArr[0].split("/")[1];//data:image/png BASE64Decoder decoder = new BASE64Decoder(); byte[] b = decoder.decodeBuffer(srcArr[1]); for(int i=0;i<b.length;++i){ if(b[i]<0){//调整异常数据 b[i]+=256; } } //文件名称 Calendar cal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String filename = sdf.format(cal.getTime()); //图片保存路径 String filePath=fileUpLoadUrl+IMAGE_UPLOAD_PATH+"/"+filename+"."+fileSuffixes; //图片访问路径 String fileurl=getPath(request)+fileVisitUrl+IMAGE_UPLOAD_PATH+"/"+filename+"."+fileSuffixes; OutputStream out = new FileOutputStream(filePath); //生成图片 out.write(b); out.flush(); out.close(); JsonUtils.sendJson("{'success':true,'url':'"+fileurl+"'}", response); } } catch (Exception e1) { e1.printStackTrace(); JsonUtils.sendJson("{'success':false}", response); } } /** * 获取访问路径 http://192.168.2.84:8080 * @param request * @return */ private String getPath(HttpServletRequest request){ String scheme = request.getScheme(); int port = request.getServerPort(); String serverName = request.getServerName(); String contextPath = "";//request.getContextPath(); //请求路径 String path = scheme + "://" + serverName+":"+ port + contextPath; return path; } |