你的位置:首页 > Java教程

[Java教程]记一次ckeditor上传图片到服务器问题


 

 

package com.util;
import java.io.IOException;import java.io.PrintWriter;import java.util.List;

import java.io.File;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileItemFactory;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import org.apache.struts2.ServletActionContext;import util.DateUtil;import util.PropertiesUtil;public class ImageUploadServlet extends HttpServlet{ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); PrintWriter out=response.getWriter(); FileItemFactory factory=new DiskFileItemFactory(); ServletFileUpload upload=new ServletFileUpload(factory); try { List<FileItem> list=upload.parseRequest(request); for(FileItem fileItem:list){ String imageName=DateUtil.getCurrentDateStr(); File file=new File(ServletActionContext.getServletContext().getRealPath("/userImage")+imageName+"."+fileItem.getName().split("\\.")[1]); String newPath=ServletActionContext.getServletContext().getRealPath("/userImage")+"/"+imageName+"."+fileItem.getName().split("\\.")[1]; fileItem.write(file); String callback = request.getParameter("CKEditorFuncNum"); out.println("<script type=\"text/javascript\">"); out.println("window.parent.CKEDITOR.tools.callFunction("+callback + ",'"+ newPath + "',''" + ")"); out.println("</script>"); out.flush(); } } catch (Exception e) { e.printStackTrace(); } }}

 

 

package com.util;import java.text.SimpleDateFormat;import java.util.Date;public class DateUtil {  public static String formatDate(Date date,String format){    String result="";    SimpleDateFormat sdf=new SimpleDateFormat(format);    if(date!=null){      result=sdf.format(date);    }    return result;  }      public static Date formatString(String str,String format) throws Exception{    if(StringUtil.isEmpty(str)){      return null;    }    SimpleDateFormat sdf=new SimpleDateFormat(format);    return sdf.parse(str);  }    public static String getCurrentDateStr()throws Exception{    Date date=new Date();    SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddhhmmss");    return sdf.format(date);  }}

 

*************************************

package com.util;import java.io.IOException;import java.io.InputStream;import java.util.Properties;public class PropertiesUtil {  public static String getValue(String key){    Properties prop=new Properties();    InputStream in=new PropertiesUtil().getClass().getResourceAsStream("/text.properties");    try {      prop.load(in);    } catch (IOException e) {      // TODO Auto-generated catch block      e.printStackTrace();    }    return prop.getProperty(key);  }

 

 

*************

text.properties
userImage=userImage/pageSize=5backPageSize=3imagePath=webapps//ROOT/userImage/imageFile=userImage