- package imageServlet;
- import java.io.File;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.List;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- 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.FileUploadException;
- import org.apache.commons.fileupload.disk.DiskFileItemFactory;
- import org.apache.commons.fileupload.servlet.ServletFileUpload;
- import util.MD5;
- import util.MyCalendar;
- import entity.User;
- /**
- * Servlet implementation class DoUploadNewsImageServlet
- */
- public class DoUploadNewsImageServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- /**
- * @see HttpServlet#HttpServlet()
- */
- public DoUploadNewsImageServlet() {
- super();
- // TODO Auto-generated constructor stub
- }
- /**
- * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
- * response)
- */
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- doPost(request, response);
- }
- /**
- * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
- * response)
- */
- 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);
- User user = (User) request.getSession().getAttribute("user");
- try {
- @SuppressWarnings("unchecked")
- List<FileItem> list = upload.parseRequest(request);
- for (FileItem fileItem : list) {
- int u_id = user.getId();
- // 对name进行MD5加密
- String name = MD5.getMD5((u_id + "_" + MyCalendar.getCalendar().getTimeInMillis()).getBytes());
- File file = new File(getServletContext().getRealPath("/")
- + getServletContext().getInitParameter("newsImgFolder") + "/" + name + ".jpg");
- String newPath = request.getContextPath()+"/" + getServletContext().getInitParameter("newsImgFolder") + "/"
- + name + ".jpg";
- 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 (FileUploadException ex) {
- Logger.getLogger(DoUploadServlet.class.getName()).log(Level.SEVERE, null, ex);
- } catch (Exception ex) {
- Logger.getLogger(DoUploadServlet.class.getName()).log(Level.SEVERE, null, ex);
- } finally {
- out.close();
- }
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/050820134948.html
来源: http://www.codesnippet.cn/detail/050820134948.html