Package com.liusoft.dlog4j.upload

Source Code of com.liusoft.dlog4j.upload.SecurityFCKUploadServlet

/*
*  FCKEditor_UploadServlet.java
*  This program is free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 2 of the License, or
*  (at your option) any later version.
*
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU Library General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software
*  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*  Author: Winter Lau (javayou@gmail.com)
*  http://dlog4j.sourceforge.net
*/
package com.liusoft.dlog4j.upload;

import java.io.IOException;
import java.util.Date;
import java.util.Hashtable;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.liusoft.dlog4j.Globals;
import com.liusoft.dlog4j.SessionUserObject;
import com.liusoft.dlog4j.UserLoginManager;
import com.liusoft.dlog4j.beans.FckUploadFileBean;
import com.liusoft.dlog4j.beans.UserBean;
import com.liusoft.dlog4j.dao.FCKUploadFileDAO;
import com.liusoft.dlog4j.util.RequestUtils;
import com.liusoft.dlog4j.util.StringUtils;

/**
* ��FCKEditor���ϴ�����Ȩ�޵��ж�
*
* @author Winter Lau
*/
public class SecurityFCKUploadServlet extends FCKEditor_UploadServlet {

  private final static Log log = LogFactory.getLog(SecurityFCKUploadServlet.class);
 
  /**
   * �����ļ��ϴ�����
   */
  protected void doPost(HttpServletRequest req, HttpServletResponse res)
      throws ServletException, IOException {
    //�жϵ�ǰ�������Ƿ��Ѿ���¼������д�ռǵ�Ȩ��(�ڶ����޷���֤)
    SessionUserObject loginUser = UserLoginManager.getLoginUser(req, res, true);   
    if(loginUser!=null){     
      super.doPost(req, res);
      Integer errno = (Integer)req.getAttribute("errno");
      if(errno!=null && errno.intValue()==0){
        //д���ϴ���Ϣ����
        FckUploadFileBean fbean = new FckUploadFileBean();
        try{       
          Long fileSize = (Long)req.getAttribute("file.size");
          Integer fileType = (Integer)req.getAttribute("file.type");
          String savePath = (String)req.getAttribute("file.path");
          String uriPath = (String)req.getAttribute("file.uri");
          if(fileSize!=null)
            fbean.setFileSize(fileSize.intValue());
          if(fileType!=null)
            fbean.setFileType(fileType.intValue());
          fbean.setSavePath(savePath);
          fbean.setUri(uriPath);
          HttpSession ssn = req.getSession(true);
          //SESSION_IDͬʱ������Cookie�з�ֹ
          RequestUtils.setCookie(req, res, Globals.SESSION_ID_KEY_IN_COOKIE, ssn.getId(),-1);
          fbean.setSessionId(ssn.getId());
          fbean.setUser(new UserBean(loginUser.getId()));
          fbean.setUploadTime(new Date());
          FCKUploadFileDAO.createUploadFileItem(fbean);
        }catch(Exception e){
          log.error("Writting upload file info failed.", e);
        }
      }
      return;
    }
    res.sendError(HttpServletResponse.SC_FORBIDDEN);
  }

  /**
   * ֧�ִ�WAP�ϴ�ͼƬ
   */
  protected void makeOutput(HttpServletRequest req, HttpServletResponse res,
      Hashtable params, String msg) throws IOException {
    String toPage = (String)params.get("toPage");
    if(StringUtils.isEmpty(toPage)){
      super.makeOutput(req, res, params, msg);
    }
    else{
      res.sendRedirect(req.getContextPath() + toPage);
    }
  }

}
TOP

Related Classes of com.liusoft.dlog4j.upload.SecurityFCKUploadServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.