Package org.nutz.mvc.upload

Source Code of org.nutz.mvc.upload.Uploads

package org.nutz.mvc.upload;

import java.util.Enumeration;

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

import org.nutz.lang.util.NutMap;
import org.nutz.mvc.Mvcs;

/**
* 关于上传的一些帮助函数
*
* @author zozoh(zozohtnt@gmail.com)
*/
public abstract class Uploads {

    /**
     * @param req
     *            请求对象
     * @return 当前会话的上传进度对象,如果没有上传,则返回 null
     */
    public static UploadInfo getInfo(HttpServletRequest req) {
      HttpSession session = Mvcs.getHttpSession(false);
      if (session == null)
        return null;
        return (UploadInfo) session.getAttribute(UploadInfo.SESSION_NAME);
    }

    /**
     * @param req
     *            请求对象
     * @return 本次上传的进度对象
     */
    public static UploadInfo createInfo(HttpServletRequest req) {
        UploadInfo info = new UploadInfo();
        HttpSession sess = Mvcs.getHttpSession(false);
        if (null != sess) {
            sess.setAttribute(UploadInfo.SESSION_NAME, info);
        }
        info.sum = req.getContentLength();
        return info;
    }

    /**
     * 根据请求对象创建参数 MAP, 同时根据 QueryString,为 MAP 设置初始值
     *
     * @param req
     *            请求对象
     * @return 参数 MAP
     */
    public static NutMap createParamsMap(HttpServletRequest req) {
        NutMap params = new NutMap();
        // parse query strings
        Enumeration<?> en = req.getParameterNames();
        while (en.hasMoreElements()) {
            String key = en.nextElement().toString();
            params.put(key, req.getParameter(key));
        }
        return params;
    }

    /**
     * 从当前会话中移除进度对象
     *
     * @param req
     *            请求对象
     */
    public static void removeInfo(HttpServletRequest req) {
        req.removeAttribute(UploadInfo.SESSION_NAME);
    }

}
TOP

Related Classes of org.nutz.mvc.upload.Uploads

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.