也可以点击这里
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();
}
}
}