Example usage for org.apache.commons.fileupload.servlet ServletFileUpload setHeaderEncoding

List of usage examples for org.apache.commons.fileupload.servlet ServletFileUpload setHeaderEncoding

Introduction

In this page you can find the example usage for org.apache.commons.fileupload.servlet ServletFileUpload setHeaderEncoding.

Prototype

public void setHeaderEncoding(String encoding) 

Source Link

Document

Specifies the character encoding to be used when reading the headers of individual parts.

Usage

From source file:com.lushapp.common.web.servlet.kindeditor.FileUploadServlet.java

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String dirName = request.getParameter("dir");
    if (dirName == null) {
        dirName = "image";
    }//from   ww  w .j av  a  2s. c  o m

    //?
    String uploadPath = getInitParameter("UPLOAD_PATH");
    if (StringUtils.isNotBlank(uploadPath)) {
        configPath = uploadPath;
    }

    if ("image".equals(dirName)) {

        //?
        Long size = Long.parseLong(getInitParameter("Img_MAX_SIZE"));
        if (size != null) {
            maxSize = size;
        }

        //(?gif, jpg, jpeg, png, bmp)
        String type = getInitParameter("Img_YPES");
        if (StringUtils.isNotBlank(type)) {
            extMap.put("image", type);
        }

    } else {
        //?
        Long size = Long.parseLong(getInitParameter("File_MAX_SIZE"));
        if (size != null) {
            maxSize = size;
        }

        if ("file".equals(dirName)) {
            //(doc, xls, ppt, pdf, txt, rar, zip)
            String type = getInitParameter("File_TYPES");
            if (StringUtils.isNotBlank(type)) {
                extMap.put("file", type);
            }
        }
    }

    if (StringUtils.isBlank(configPath)) {
        WebUtils.renderText(response, getError("?!"));
        return;
    }

    //?
    String savePath = this.getServletContext().getRealPath("/") + configPath;

    //?URL
    String saveUrl = request.getContextPath() + "/" + configPath;

    if (!ServletFileUpload.isMultipartContent(request)) {
        WebUtils.renderText(response, getError(""));
        return;
    }
    //
    File uploadDir = new File(savePath);
    if (!uploadDir.isDirectory()) {
        FileUtil.createDirectory(uploadDir.getPath());
        //         ServletUtils.rendText(getError("?"), response);
        //         return;
    }
    //??
    if (!uploadDir.canWrite()) {
        WebUtils.renderText(response, getError("??"));
        return;
    }

    if (!extMap.containsKey(dirName)) {
        WebUtils.renderText(response, getError("???"));
        return;
    }
    //
    savePath += dirName + "/";
    saveUrl += dirName + "/";
    File saveDirFile = new File(savePath);
    if (!saveDirFile.exists()) {
        saveDirFile.mkdirs();
    }
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
    String ymd = sdf.format(new Date());
    savePath += ymd + "/";
    saveUrl += ymd + "/";
    File dirFile = new File(savePath);
    if (!dirFile.exists()) {
        dirFile.mkdirs();
    }

    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setHeaderEncoding("UTF-8");

    try {
        List items = upload.parseRequest(request);
        Iterator itr = items.iterator();
        while (itr.hasNext()) {
            FileItem item = (FileItem) itr.next();
            String fileName = item.getName();
            long fileSize = item.getSize();
            if (!item.isFormField()) {
                //?
                if (item.getSize() > maxSize) {
                    WebUtils.renderText(response, getError("??"));
                    return;
                }
                //??
                String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
                if (!Arrays.<String>asList(extMap.get(dirName).split(",")).contains(fileExt)) {
                    WebUtils.renderText(response,
                            getError("??????\n??"
                                    + extMap.get(dirName) + "?"));
                    return;
                }

                SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
                String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileExt;
                try {
                    File uploadedFile = new File(savePath, newFileName);
                    item.write(uploadedFile);
                } catch (Exception e) {
                    WebUtils.renderText(response, getError(""));
                    return;
                }

                Map<String, Object> obj = Maps.newHashMap();
                obj.put("error", 0);
                obj.put("url", saveUrl + newFileName);
                WebUtils.renderText(response, obj);
            }
        }
    } catch (FileUploadException e1) {
        e1.printStackTrace();
    }

}

From source file:com.dlshouwen.wzgl.servlet.UploadPic.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    request.setCharacterEncoding("UTF-8");
    String albumId = request.getParameter("albumId");
    //      String articleId = request.getParameter("articleId");
    String type = request.getParameter("albumFlag");
    //      String isFile = request.getParameter("isFile");
    //      String isVideo = request.getParameter("isVideo");
    PictureDao pictureDao = null;/*from w  w w.ja v  a  2s .c  o  m*/
    try {
        pictureDao = (PictureDao) SpringUtils.getBean("pictureDao");
    } catch (Exception ex) {
        Logger.getLogger(UploadPic.class.getName()).log(Level.SEVERE, null, ex);
    }

    //    
    String tempPath = SysConfigLoader.getSystemConfig().getProperty("imageTemp", "C:\\files\\temp");
    //  
    File dirTempFile = new File(tempPath);
    if (!dirTempFile.exists()) {
        dirTempFile.mkdirs();
    }
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(20 * 1024 * 1024); //5M     
    factory.setRepository(new File(tempPath)); //     
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setHeaderEncoding("UTF-8");
    try {
        List items = upload.parseRequest(request);
        Iterator itr = items.iterator();
        while (itr.hasNext()) {
            FileItem item = (FileItem) itr.next();
            String fileName = item.getName();
            if (!item.isFormField()) {
                InputStream is = null;
                synchronized (this) {
                    try {
                        is = item.getInputStream();
                        JSONObject jobj = FileUploadClient.upFile(request, fileName, is);
                        String path = null;
                        if (null != jobj && jobj.getString("responseMessage").equals("OK")) {
                            if (StringUtils.isNotEmpty(jobj.getString("fpath"))) {
                                String sourceURL = AttributeUtils.getAttributeContent(
                                        request.getServletContext(), "source_webapp_file_postion");
                                path = sourceURL + jobj.getString("fpath");
                                //                                  filename = path.substring(path.lastIndexOf(File.separator) + 1);
                            }
                        }

                        if (albumId != null && albumId.trim().length() > 0) {
                            Picture pic = new Picture();
                            if (type != null) {
                                pic.setFlag(type);
                            }
                            pic.setPicture_name(fileName);
                            pic.setPath(path);
                            pic.setAlbum_id(albumId);
                            pic.setCreate_time(new Date());
                            SessionUser sessionUser = (SessionUser) request.getSession()
                                    .getAttribute(CONFIG.SESSION_USER);
                            String userName = sessionUser.getUser_name();
                            pic.setUser_name(userName);
                            pictureDao.insertPicture(pic);
                        }

                        String json = "{ \"state\": \"SUCCESS\",\"url\": \"" + path + "\",\"title\": \""
                                + fileName + "\",\"original\": \"" + fileName + "\"}";

                        response.setContentType("text/html;charset=utf-8");
                        response.setCharacterEncoding("UTF-8");
                        response.getWriter().print(json);
                    } catch (Exception ex) {
                        java.util.logging.Logger.getLogger(UploadPic.class.getName()).log(Level.SEVERE, null,
                                ex);
                    } finally {
                        if (is != null) {
                            is.close();
                        }
                    }
                }
            }
        }

    } catch (FileUploadException e) {
    }
}

From source file:cn.vlabs.duckling.vwb.ui.servlet.SimpleUploaderServlet.java

private Map<String, Object> parseFileItem(HttpServletRequest request)
        throws FileUploadException, UnsupportedEncodingException {
    DiskFileItemFactory fileItemFactory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(fileItemFactory);
    upload.setHeaderEncoding("UTF-8");
    List<?> items = upload.parseRequest(request);

    Map<String, Object> fields = new HashMap<String, Object>();

    Iterator<?> iter = items.iterator();
    while (iter.hasNext()) {
        FileItem item = (FileItem) iter.next();
        if (item.isFormField()) {
            fields.put(item.getFieldName(), item.getString("UTF-8"));
        } else {/*www  .  j  av a  2  s .  co m*/
            fields.put(item.getFieldName(), item);
        }
    }
    return fields;
}

From source file:com.wwl.utils.Dispatcher.java

/**
 * Called by the connector servlet to handle a {@code POST} request. In
 * particular, it handles the {@link Command#FILE_UPLOAD FileUpload} and
 * {@link Command#QUICK_UPLOAD QuickUpload} commands.
 * /*from  ww  w  .ja va 2 s .  c o m*/
 * @param request
 *            the current request instance
 * @return the upload response instance associated with this request
 */
UploadResponse doPost(final HttpServletRequest request) {
    logger.debug("Entering Dispatcher#doPost");

    Context context = ThreadLocalData.getContext();
    context.logBaseParameters();

    UploadResponse uploadResponse = null;
    // check permissions for user actions
    if (!RequestCycleHandler.isEnabledForFileUpload(request))
        uploadResponse = UploadResponse.getFileUploadDisabledError();
    // check parameters  
    else if (!Command.isValidForPost(context.getCommandStr()))
        uploadResponse = UploadResponse.getInvalidCommandError();
    else if (!ResourceType.isValidType(context.getTypeStr()))
        uploadResponse = UploadResponse.getInvalidResourceTypeError();
    else if (!UtilsFile.isValidPath(context.getCurrentFolderStr()))
        uploadResponse = UploadResponse.getInvalidCurrentFolderError();
    else {

        // call the Connector#fileUpload
        ResourceType type = context.getDefaultResourceType();
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setHeaderEncoding("utf-8");
        try {
            List<FileItem> items = upload.parseRequest(request);
            // We upload just one file at the same time
            FileItem uplFile = items.get(0);
            // Some browsers transfer the entire source path not just the
            // filename
            String fileName = FilenameUtils.getName(uplFile.getName());

            logger.debug("Parameter NewFile: {}", fileName);
            // check the extension
            if (type.isNotAllowedExtension(FilenameUtils.getExtension(fileName)))
                uploadResponse = UploadResponse.getInvalidFileTypeError();
            // Secure image check (can't be done if QuickUpload)
            else if (type.equals(ResourceType.IMAGE) && PropertiesLoader.isSecureImageUploads()
                    && !UtilsFile.isImage(uplFile.getInputStream())) {
                uploadResponse = UploadResponse.getInvalidFileTypeError();
            } else {
                //fileName = UUID.randomUUID().toString()+"."+FilenameUtils.getExtension(fileName);
                fileName = new Date().getTime() + "." + FilenameUtils.getExtension(fileName);
                String sanitizedFileName = UtilsFile.sanitizeFileName(fileName);
                logger.debug("Parameter NewFile (sanitized): {}", sanitizedFileName);
                String newFileName = connector.fileUpload(type, context.getCurrentFolderStr(),
                        sanitizedFileName, uplFile.getInputStream());
                String fileUrl = UtilsResponse.fileUrl(RequestCycleHandler.getUserFilesPath(request), type,
                        context.getCurrentFolderStr(), newFileName);

                if (sanitizedFileName.equals(newFileName))
                    uploadResponse = UploadResponse.getOK(fileUrl);
                else {
                    uploadResponse = UploadResponse.getFileRenamedWarning(fileUrl, newFileName);
                    logger.debug("Parameter NewFile (renamed): {}", newFileName);
                }
            }

            uplFile.delete();
        } catch (InvalidCurrentFolderException e) {
            uploadResponse = UploadResponse.getInvalidCurrentFolderError();
        } catch (WriteException e) {
            uploadResponse = UploadResponse.getFileUploadWriteError();
        } catch (IOException e) {
            uploadResponse = UploadResponse.getFileUploadWriteError();
        } catch (FileUploadException e) {
            uploadResponse = UploadResponse.getFileUploadWriteError();
        }
    }

    logger.debug("Exiting Dispatcher#doPost");
    return uploadResponse;
}

From source file:net.fckeditor.connector.MyDispatcher.java

/**
 * Called by the connector servlet to handle a {@code POST} request. In
 * particular, it handles the {@link Command#FILE_UPLOAD FileUpload} and
 * {@link Command#QUICK_UPLOAD QuickUpload} commands.
 * /*from   w  ww  . j a va2  s . c  om*/
 * @param request
 *            the current request instance
 * @return the upload response instance associated with this request
 */
UploadResponse doPost(final HttpServletRequest request) {
    logger.debug("Entering Dispatcher#doPost");

    Context context = ThreadLocalData.getContext();
    context.logBaseParameters();

    UploadResponse uploadResponse = null;
    // check permissions for user actions
    if (!RequestCycleHandler.isFileUploadEnabled(request))
        uploadResponse = UploadResponse.getFileUploadDisabledError();
    // check parameters  
    else if (!Command.isValidForPost(context.getCommandStr()))
        uploadResponse = UploadResponse.getInvalidCommandError();
    else if (!ResourceType.isValidType(context.getTypeStr()))
        uploadResponse = UploadResponse.getInvalidResourceTypeError();
    else if (!UtilsFile.isValidPath(context.getCurrentFolderStr()))
        uploadResponse = UploadResponse.getInvalidCurrentFolderError();
    else {

        // call the Connector#fileUpload
        ResourceType type = context.getDefaultResourceType();
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setHeaderEncoding("UTF-8");
        try {
            List<FileItem> items = upload.parseRequest(request);
            // We upload just one file at the same time
            FileItem uplFile = items.get(0);
            // Some browsers transfer the entire source path not just the
            // filename
            String fileName = FilenameUtils.getName(uplFile.getName());
            fileName = UUID.randomUUID().toString().replace("-", "") + "."
                    + FilenameUtils.getExtension(fileName);
            logger.debug("Parameter NewFile: {}", fileName);
            // check the extension
            if (type.isDeniedExtension(FilenameUtils.getExtension(fileName)))
                uploadResponse = UploadResponse.getInvalidFileTypeError();
            // Secure image check (can't be done if QuickUpload)
            else if (type.equals(ResourceType.IMAGE) && PropertiesLoader.isSecureImageUploads()
                    && !UtilsFile.isImage(uplFile.getInputStream())) {
                uploadResponse = UploadResponse.getInvalidFileTypeError();
            } else {
                String sanitizedFileName = UtilsFile.sanitizeFileName(fileName);
                logger.debug("Parameter NewFile (sanitized): {}", sanitizedFileName);
                String newFileName = connector.fileUpload(type, context.getCurrentFolderStr(),
                        sanitizedFileName, uplFile.getInputStream());
                String fileUrl = UtilsResponse.fileUrl(RequestCycleHandler.getUserFilesPath(request), type,
                        context.getCurrentFolderStr(), newFileName);

                if (sanitizedFileName.equals(newFileName))
                    uploadResponse = UploadResponse.getOK(fileUrl);
                else {
                    uploadResponse = UploadResponse.getFileRenamedWarning(fileUrl, newFileName);
                    logger.debug("Parameter NewFile (renamed): {}", newFileName);
                }
            }

            uplFile.delete();
        } catch (InvalidCurrentFolderException e) {
            uploadResponse = UploadResponse.getInvalidCurrentFolderError();
        } catch (WriteException e) {
            uploadResponse = UploadResponse.getFileUploadWriteError();
        } catch (IOException e) {
            uploadResponse = UploadResponse.getFileUploadWriteError();
        } catch (FileUploadException e) {
            uploadResponse = UploadResponse.getFileUploadWriteError();
        }
    }

    logger.debug("Exiting Dispatcher#doPost");
    return uploadResponse;
}

From source file:com.truthbean.core.web.kindeditor.FileUpload.java

@Override
public void service(final HttpServletRequest request, final HttpServletResponse response)
        throws IOException, ServletException {

    final PageContext pageContext;
    HttpSession session = null;/*from  w  w w  .  j ava  2 s .  c om*/
    final ServletContext application;
    final ServletConfig config;
    JspWriter out = null;
    final Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;

    try {
        response.setContentType("text/html; charset=UTF-8");
        pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
        _jspx_page_context = pageContext;
        application = pageContext.getServletContext();
        config = pageContext.getServletConfig();
        session = pageContext.getSession();
        out = pageContext.getOut();
        _jspx_out = out;

        out.write("\r\n");
        out.write("\r\n");
        out.write("\r\n");
        out.write("\r\n");
        out.write("\r\n");
        out.write("\r\n");
        out.write("\r\n");

        /**
         * KindEditor JSP
         *
         * JSP???? ??
         *
         */
        // ?
        String savePath = pageContext.getServletContext().getRealPath("/") + "resource/";

        String savePath$ = savePath;

        // ?URL
        String saveUrl = request.getContextPath() + "/resource/";

        // ???
        HashMap<String, String> extMap = new HashMap<>();
        extMap.put("image", "gif,jpg,jpeg,png,bmp");
        extMap.put("flash", "swf,flv");
        extMap.put("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb");
        extMap.put("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2");

        // ?
        long maxSize = 10 * 1024 * 1024 * 1024L;

        response.setContentType("text/html; charset=UTF-8");

        if (!ServletFileUpload.isMultipartContent(request)) {
            out.println(getError(""));
            return;
        }
        // 
        File uploadDir = new File(savePath);
        if (!uploadDir.isDirectory()) {
            out.println(getError("?"));
            return;
        }
        // ??
        if (!uploadDir.canWrite()) {
            out.println(getError("??"));
            return;
        }

        String dirName = request.getParameter("dir");
        if (dirName == null) {
            dirName = "image";
        }
        if (!extMap.containsKey(dirName)) {
            out.println(getError("???"));
            return;
        }
        // 
        savePath += dirName + "/";
        saveUrl += dirName + "/";
        File saveDirFile = new File(savePath);
        if (!saveDirFile.exists()) {
            saveDirFile.mkdirs();
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        String ymd = sdf.format(new Date());
        savePath += ymd + "/";
        saveUrl += ymd + "/";
        File dirFile = new File(savePath);
        if (!dirFile.exists()) {
            dirFile.mkdirs();
        }

        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setHeaderEncoding("UTF-8");
        List items = upload.parseRequest(request);
        Iterator itr = items.iterator();
        while (itr.hasNext()) {
            FileItem item = (FileItem) itr.next();
            String fileName = item.getName();
            if (!item.isFormField()) {
                // ?
                if (item.getSize() > maxSize) {
                    out.println(getError("??"));
                    return;
                }
                // ??
                String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
                if (!Arrays.asList(extMap.get(dirName).split(",")).contains(fileExt)) {
                    out.println(getError("??????\n??"
                            + extMap.get(dirName) + "?"));
                    return;
                }

                SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
                String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileExt;
                try {
                    File uploadedFile = new File(savePath, newFileName);
                    item.write(uploadedFile);
                } catch (Exception e) {
                    out.println(getError(""));
                    return;
                }

                JSONObject obj = new JSONObject();
                obj.put("error", 0);
                obj.put("url", saveUrl + newFileName);

                request.getSession().setAttribute("fileName", savePath$ + fileName);
                request.getSession().setAttribute("filePath", savePath + newFileName);
                request.getSession().setAttribute("fileUrl", saveUrl + newFileName);

                out.println(obj.toJSONString());
            }
        }

        out.write('\r');
        out.write('\n');
    } catch (IOException | FileUploadException t) {
        if (!(t instanceof javax.servlet.jsp.SkipPageException)) {
            out = _jspx_out;
            if (out != null && out.getBufferSize() != 0) {
                if (response.isCommitted()) {
                    out.flush();
                } else {
                    out.clearBuffer();
                }
            }
            if (_jspx_page_context != null) {
                _jspx_page_context.handlePageException(t);
            } else {
                throw new ServletException(t);
            }
        }
    } finally {
        _jspxFactory.releasePageContext(_jspx_page_context);
    }
}

From source file:com.wabacus.WabacusFacade.java

public static void uploadFile(HttpServletRequest request, HttpServletResponse response) {
    PrintWriter out = null;// w  w  w  . j  a  v  a 2s.  c  om
    try {
        out = response.getWriter();
    } catch (IOException e1) {
        throw new WabacusRuntimeException("response?PrintWriter", e1);
    }
    out.println(
            "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
    out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=" + Config.encode + "\">");
    importWebresources(out);
    if (Config.getInstance().getSystemConfigValue("prompt-dialog-type", "artdialog").equals("artdialog")) {
        out.print("<script type=\"text/javascript\"  src=\"" + Config.webroot
                + "webresources/component/artDialog/artDialog.js\"></script>");
        out.print("<script type=\"text/javascript\"  src=\"" + Config.webroot
                + "webresources/component/artDialog/plugins/iframeTools.js\"></script>");
    }
    /**if(true)
    {
    out.print("<table style=\"margin:0px;\"><tr><td style='font-size:13px;'><font color='#ff0000'>");
    out.print("???WabacusDemo????\n\rWabacusDemo.war?samples/");
    out.print("</font></td></tr></table>");
    return;
    }*/
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(4096);
    String repositoryPath = FilePathAssistant.getInstance().standardFilePath(Config.webroot_abspath
            + File.separator + "wxtmpfiles" + File.separator + "upload" + File.separator);
    FilePathAssistant.getInstance().checkAndCreateDirIfNotExist(repositoryPath);
    factory.setRepository(new File(repositoryPath));
    ServletFileUpload fileUploadObj = new ServletFileUpload();
    fileUploadObj.setFileItemFactory(factory);
    fileUploadObj.setHeaderEncoding(Config.encode);
    List lstFieldItems = null;
    String errorinfo = null;
    try {
        lstFieldItems = fileUploadObj.parseRequest(request);
        if (lstFieldItems == null || lstFieldItems.size() == 0) {
            errorinfo = "??";
        }
    } catch (FileUploadException e) {
        log.error("?", e);
        errorinfo = "?";
    }
    Map<String, String> mFormFieldValues = new HashMap<String, String>();
    Iterator itFieldItems = lstFieldItems.iterator();
    FileItem item;
    while (itFieldItems.hasNext()) {//??mFormFieldValues??
        item = (FileItem) itFieldItems.next();
        if (item.isFormField()) {
            try {
                mFormFieldValues.put(item.getFieldName(), item.getString(Config.encode));
                request.setAttribute(item.getFieldName(), item.getString(Config.encode));
            } catch (UnsupportedEncodingException e) {
                log.warn("??????" + Config.encode
                        + "?", e);
            }
        }
    }
    String fileuploadtype = mFormFieldValues.get("FILEUPLOADTYPE");
    AbsFileUpload fileUpload = getFileUploadObj(request, fileuploadtype);
    boolean isPromtAuto = true;
    if (fileUpload == null) {
        errorinfo = "";
    } else if (errorinfo == null || errorinfo.trim().equals("")) {
        fileUpload.setMFormFieldValues(mFormFieldValues);
        errorinfo = fileUpload.doFileUpload(lstFieldItems, out);
        if (fileUpload.getInterceptorObj() != null) {
            isPromtAuto = fileUpload.getInterceptorObj().beforeDisplayFileUploadPrompt(request, lstFieldItems,
                    fileUpload.getMFormFieldValues(), errorinfo, out);
        }
    }
    out.println("<script language='javascript'>");
    out.println("  try{hideLoadingMessage();}catch(e){}");
    out.println("</script>");
    if (isPromtAuto) {
        if (errorinfo == null || errorinfo.trim().equals("")) {
            out.println("<script language='javascript'>");
            fileUpload.promptSuccess(out, Config.getInstance()
                    .getSystemConfigValue("prompt-dialog-type", "artdialog").equals("artdialog"));
            out.println("</script>");
        } else {
            out.println("<table style=\"margin:0px;\"><tr><td style='font-size:13px;'><font color='#ff0000'>"
                    + errorinfo + "</font></td></tr></table>");
        }
    }
    if (errorinfo != null && !errorinfo.trim().equals("")) {
        if (fileUpload != null) {
            request.setAttribute("WX_FILE_UPLOAD_FIELDVALUES", fileUpload.getMFormFieldValues());
        }
        showUploadFilePage(request, out);
    } else if (!isPromtAuto) {//???????????
        out.println("<script language='javascript'>");
        if (Config.getInstance().getSystemConfigValue("prompt-dialog-type", "artdialog").equals("artdialog")) {
            out.println("art.dialog.close();");
        } else {
            out.println("parent.closePopupWin();");
        }
        out.println("</script>");
    }
}

From source file:com.zhoujian.fckeditor.Dispatcher.java

/**
 * Called by the connector servlet to handle a {@code POST} request. In
 * particular, it handles the {@link Command#FILE_UPLOAD FileUpload} and
 * {@link Command#QUICK_UPLOAD QuickUpload} commands.
 * /*from w ww .j  a  v a 2  s  .  c o m*/
 * @param request
 *            the current request instance
 * @return the upload response instance associated with this request
 */
UploadResponse doPost(final HttpServletRequest request) {
    logger.debug("Entering Dispatcher#doPost");

    Context context = ThreadLocalData.getContext();
    context.logBaseParameters();

    UploadResponse uploadResponse = null;
    // check permissions for user actions
    if (!RequestCycleHandler.isFileUploadEnabled(request))
        uploadResponse = UploadResponse.getFileUploadDisabledError();
    // check parameters  
    else if (!Command.isValidForPost(context.getCommandStr()))
        uploadResponse = UploadResponse.getInvalidCommandError();
    else if (!ResourceType.isValidType(context.getTypeStr()))
        uploadResponse = UploadResponse.getInvalidResourceTypeError();
    else if (!UtilsFile.isValidPath(context.getCurrentFolderStr()))
        uploadResponse = UploadResponse.getInvalidCurrentFolderError();
    else {

        // call the Connector#fileUpload
        ResourceType type = context.getDefaultResourceType();
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setHeaderEncoding("utf-8");
        try {
            List<FileItem> items = upload.parseRequest(request);
            // We upload just one file at the same time
            FileItem uplFile = items.get(0);

            // Some browsers transfer the entire source path not just the
            // filename
            String fileName = FilenameUtils.getName(uplFile.getName());
            logger.debug("Parameter NewFile: {}", fileName);
            // check the extension
            if (type.isDeniedExtension(FilenameUtils.getExtension(fileName)))
                uploadResponse = UploadResponse.getInvalidFileTypeError();
            // Secure image check (can't be done if QuickUpload)
            else if (type.equals(ResourceType.IMAGE) && PropertiesLoader.isSecureImageUploads()
                    && !UtilsFile.isImage(uplFile.getInputStream())) {
                uploadResponse = UploadResponse.getInvalidFileTypeError();
            } else {
                String sanitizedFileName = UtilsFile.sanitizeFileName(fileName);
                logger.debug("Parameter NewFile (sanitized): {}", sanitizedFileName);
                String newFileName = connector.fileUpload(type, context.getCurrentFolderStr(),
                        sanitizedFileName, uplFile.getInputStream());
                String fileUrl = UtilsResponse.fileUrl(RequestCycleHandler.getUserFilesPath(request), type,
                        context.getCurrentFolderStr(), newFileName);

                if (sanitizedFileName.equals(newFileName))
                    uploadResponse = UploadResponse.getOK(fileUrl);
                else {
                    uploadResponse = UploadResponse.getFileRenamedWarning(fileUrl, newFileName);
                    logger.debug("Parameter NewFile (renamed): {}", newFileName);
                }
            }

            //
            if (uplFile.getSize() > 1024 * 500) {
                uploadResponse = new UploadResponse(204);
            }

            uplFile.delete();
        } catch (InvalidCurrentFolderException e) {
            uploadResponse = UploadResponse.getInvalidCurrentFolderError();
        } catch (WriteException e) {
            uploadResponse = UploadResponse.getFileUploadWriteError();
        } catch (IOException e) {
            uploadResponse = UploadResponse.getFileUploadWriteError();
        } catch (FileUploadException e) {
            uploadResponse = UploadResponse.getFileUploadWriteError();
        }
    }

    logger.debug("Exiting Dispatcher#doPost");
    return uploadResponse;
}

From source file:com.aspectran.web.activity.request.multipart.MultipartFormDataParser.java

/**
 * Parse the given servlet request, resolving its multipart elements.
 *
 * @param requestAdapter the request adapter
 * @throws MultipartRequestException if multipart resolution failed
 */// w ww .  j a v  a  2s .co  m
public void parse(RequestAdapter requestAdapter) {
    try {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(DEFAULT_SIZE_THRESHOLD);

        if (temporaryFilePath != null) {
            File repository = new File(temporaryFilePath);
            if (!repository.exists() && !repository.mkdirs()) {
                throw new IllegalArgumentException(
                        "Given temporaryFilePath [" + temporaryFilePath + "] could not be created.");
            }
            factory.setRepository(repository);
        }

        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setSizeMax(maxRequestSize);
        upload.setHeaderEncoding(requestAdapter.getCharacterEncoding());

        Map<String, List<FileItem>> fileItemListMap;

        try {
            RequestContext requestContext = createRequestContext(requestAdapter.getAdaptee());
            fileItemListMap = upload.parseParameterMap(requestContext);
        } catch (SizeLimitExceededException e) {
            log.warn("Max length exceeded. multipart.maxRequestSize: " + maxRequestSize);
            requestAdapter.setMaxLengthExceeded(true);
            return;
        }

        parseMultipart(fileItemListMap, requestAdapter);
    } catch (Exception e) {
        throw new MultipartRequestException("Could not parse multipart servlet request.", e);
    }
}

From source file:com.oprisnik.semdroid.SemdroidServlet.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    log.info("doPost");
    StringBuilder sb = new StringBuilder();
    try {/*from  ww w. j a v  a 2 s  . c  o m*/
        ServletFileUpload upload = new ServletFileUpload();
        // set max size (-1 for unlimited size)
        upload.setSizeMax(1024 * 1024 * 30); // 30MB
        upload.setHeaderEncoding("UTF-8");

        FileItemIterator iter = upload.getItemIterator(request);
        while (iter.hasNext()) {
            FileItemStream item = iter.next();
            if (item.isFormField()) {
                // Process regular form fields
                // String fieldname = item.getFieldName();
                // String fieldvalue = item.getString();
                // log.info("Got form field: " + fieldname + " " + fieldvalue);
            } else {
                // Process form file field (input type="file").
                String fieldname = item.getFieldName();
                String filename = FilenameUtils.getBaseName(item.getName());
                log.info("Got file: " + filename);
                InputStream filecontent = null;
                try {
                    filecontent = item.openStream();
                    // analyze
                    String txt = analyzeApk(filecontent);
                    if (txt != null) {
                        sb.append(txt);
                    } else {
                        sb.append("Error. Could not analyze ").append(filename);
                    }
                    log.info("Analysis done!");
                } finally {
                    if (filecontent != null) {
                        filecontent.close();
                    }
                }
            }
        }
        response.getWriter().print(sb.toString());
    } catch (FileUploadException e) {
        throw new ServletException("Cannot parse multipart request.", e);
    } catch (Exception ex) {
        log.warning("Exception: " + ex.getMessage());
        log.throwing(this.getClass().getName(), "doPost", ex);
    }

}