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

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

Introduction

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

Prototype

public List  parseRequest(HttpServletRequest request) throws FileUploadException 

Source Link

Document

Processes an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> compliant <code>multipart/form-data</code> stream.

Usage

From source file:Index.RegisterRestaurantImagesServlet.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from  w ww.  j  ava 2 s .c om*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    try (PrintWriter out = response.getWriter()) {

        String ubicacionArchivo = "C:\\Users\\Romina\\Documents\\NetBeansProjects\\QuickOrderWeb\\web\\images";

        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(1024);
        factory.setRepository(new File(ubicacionArchivo));

        ServletFileUpload upload = new ServletFileUpload(factory);

        try {
            List<FileItem> partes = upload.parseRequest(request);

            List<String> listImage = (List<String>) request.getSession().getAttribute("listImagen");
            if (listImage == null) {
                listImage = new ArrayList<String>();
            }

            for (FileItem item : partes) {
                webservice.Restaurante rest = (webservice.Restaurante) request.getSession()
                        .getAttribute("registroUsuario");
                File file = new File(ubicacionArchivo, rest.getNickname() + listImage.size() + ".jpg");
                item.write(file);
                System.out.println("name: " + item.getName());
                listImage.add(rest.getNickname() + listImage.size() + ".jpg");
            }

            request.getSession().setAttribute("listImagen", listImage);
            request.getRequestDispatcher("/AltaRestauranteImagen.jsp").forward(request, response);
        } catch (FileUploadException ex) {
            System.out.println("Error al subir el archivo: " + ex.getMessage());
            request.getRequestDispatcher("/AltaRestauranteImagen.jsp").forward(request, response);
        } catch (Exception ex) {
            System.out.println("Error al subir el archivo: " + ex.getMessage());
            request.getRequestDispatcher("/AltaRestauranteImagen.jsp").forward(request, response);

        }
    }
}

From source file:com.patrolpro.servlet.UploadPostOrderServlet.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*  w w w .  ja v  a2 s .  c  o  m*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {
        String companyId = request.getParameter("companyId");
        String clientId = request.getParameter("clientId");
        String cid = request.getParameter("cid");

        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);

        List<FileItem> fields = upload.parseRequest(request);

        FileItem fileData = null;
        for (int f = 0; f < fields.size(); f++) {
            if (fields.get(f).getFieldName().equals("file_data")) {
                fileData = fields.get(f);
            } else if (fields.get(f).getFieldName().equals("companyId")) {
                companyId = fields.get(f).getString();
            } else if (fields.get(f).getFieldName().equals("clientId")) {
                clientId = fields.get(f).getString();
            } else if (fields.get(f).getFieldName().equals("cid")) {
                cid = fields.get(f).getString();
            }
        }

        File tempFile = File.createTempFile("postinstr", "tmnp");
        tempFile.deleteOnExit();

        CompanyService compService = new CompanyService();
        CompanyObj comp = compService.getCompanyObjById(Integer.parseInt(companyId));

        FileOutputStream oStream = new FileOutputStream(tempFile);
        InputStream iStream = fileData.getInputStream();
        byte[] buffer = new byte[2048];
        int numRead = 0;
        while ((numRead = iStream.read(buffer)) > -1) {
            oStream.write(buffer, 0, numRead);
        }
        oStream.flush();
        oStream.close();
        iStream.close();

        boolean isSuccesfull = FileLoader.saveAdditionalFile("location_additional_files", comp.getCompanyDb(),
                clientId, fileData.getName(), tempFile);
        tempFile.delete();

        response.sendRedirect("/client/post_instructions.xhtml?windowId=" + cid);
    } catch (Exception exe) {
        exe.printStackTrace();
    } finally {

    }
}

From source file:com.github.glue.mvc.RequestHandler.java

private void init() {
    try {//from   www.jav a  2s  .  c  om
        if (isMultipartContent(request)) {
            FileItemFactory itemFactory = new DiskFileItemFactory();
            ServletFileUpload fileUpload = new ServletFileUpload(itemFactory);

            List<FileItem> items = fileUpload.parseRequest(request);
            for (FileItem fileItem : items) {
                if (fileItem.isFormField()) {
                    parameters.put(fileItem.getFieldName(),
                            new String[] { fileItem.getString(definition.getCharset()) });
                } else {
                    parameters.put(fileItem.getFieldName(), fileItem);
                }
            }

        } else {
            Map<String, String[]> paramteters = request.getParameterMap();
            for (Map.Entry<String, String[]> item : paramteters.entrySet()) {
                String[] vars = item.getValue();
                if (vars != null) {
                    for (int i = 0; i < vars.length; i++) {
                        vars[i] = new String(vars[i].getBytes("ISO-8859-1"), definition.getCharset());
                    }
                }
                parameters.put(item.getKey(), vars);
            }
        }
    } catch (Exception e) {
        throw new RuntimeException(e.getMessage(), e);
    }
}

From source file:io.agi.framework.coordination.http.HttpImportHandler.java

@Override
public void handle(HttpExchange t) throws IOException {

    int status = 400;
    String response = "";

    //for(Map.Entry<String, List<String> > header : t.getRequestHeaders().entrySet()) {
    //    System.out.println(header.getKey() + ": " + header.getValue().get(0));
    //}/*w w w .  j  a  v a 2s .  co  m*/

    // Based on accepted answer: http://stackoverflow.com/questions/33732110/file-upload-using-httphandler
    DiskFileItemFactory d = new DiskFileItemFactory();

    try {
        ServletFileUpload up = new ServletFileUpload(d);
        List<FileItem> result = up.parseRequest(new RequestContext() {

            @Override
            public String getCharacterEncoding() {
                return "UTF-8";
            }

            @Override
            public int getContentLength() {
                return 0; //tested to work with 0 as return
            }

            @Override
            public String getContentType() {
                return t.getRequestHeaders().getFirst("Content-type");
            }

            @Override
            public InputStream getInputStream() throws IOException {
                return t.getRequestBody();
            }

        });

        for (FileItem fi : result) {

            //System.out.println( "File-Item: " + fi.getFieldName() + " = " + fi.getName() );

            String value = fi.getString();

            if (value == null) {
                continue;
            }

            //System.out.print( value );

            String fieldName = fi.getFieldName();

            if (fieldName.equalsIgnoreCase("entity-file")) {
                PersistenceUtil.ImportEntities(value);
                status = 200;
                response = response + "Imported Entities from: " + fi.getName() + "\n";

                _logger.info("Import: entities file: " + fi.getName());
            } else if (fieldName.equalsIgnoreCase("data-file")) {
                DataRefUtil.ImportData(value);
                status = 200;
                response = response + "Imported Data from: " + fi.getName() + "\n";

                _logger.info("Import: data file: " + fi.getName());
            }
        }

    } catch (Exception e) {
        _logger.error("Unable to import entities/data.");
        _logger.error(e.toString(), e);
    }

    HttpUtil.SendResponse(t, status, response);
}

From source file:com.ikon.servlet.WorkflowRegisterServlet.java

@SuppressWarnings("unchecked")
private String handleRequest(HttpServletRequest request) throws FileUploadException, IOException, Exception {
    log.debug("handleRequest({})", request);

    if (ServletFileUpload.isMultipartContent(request)) {
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List<FileItem> items = upload.parseRequest(request);

        if (items.isEmpty()) {
            String msg = "No process file in the request";
            log.warn(msg);//from  w w w.  j a va 2s .c  o m
            return msg;
        } else {
            FileItem fileItem = (FileItem) items.get(0);

            if (fileItem.getContentType().indexOf("application/x-zip-compressed") == -1) {
                String msg = "Not a process archive";
                log.warn(msg);
                throw new Exception(msg);
            } else {
                log.info("Deploying process archive: {}", fileItem.getName());
                JbpmContext jbpmContext = JBPMUtils.getConfig().createJbpmContext();
                InputStream isForms = null;
                ZipInputStream zis = null;

                try {
                    zis = new ZipInputStream(fileItem.getInputStream());
                    ProcessDefinition processDefinition = ProcessDefinition.parseParZipInputStream(zis);

                    // Check XML form definition
                    FileDefinition fileDef = processDefinition.getFileDefinition();
                    isForms = fileDef.getInputStream("forms.xml");
                    FormUtils.parseWorkflowForms(isForms);

                    log.debug("Created a processdefinition: {}", processDefinition.getName());
                    jbpmContext.deployProcessDefinition(processDefinition);
                    return "Process " + processDefinition.getName() + " deployed successfully";
                } finally {
                    IOUtils.closeQuietly(isForms);
                    IOUtils.closeQuietly(zis);
                    jbpmContext.close();
                }
            }
        }
    } else {
        log.warn("Not a multipart request");
        return "Not a multipart request";
    }
}

From source file:com.znsx.cms.web.controller.LicenseController.java

@InterfaceDescription(logon = false, method = "Upload_License", cmd = "2151")
@RequestMapping("/upload_license.json")
public void uploadLicense(HttpServletRequest request, HttpServletResponse response) throws Exception {
    // ?/*  w w w  . ja v  a  2 s.c o  m*/
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    if (isMultipart) {
        // 
        ResourceVO resource = null;
        // ?Filedata?
        boolean uploadFlag = false;
        // ?
        DiskFileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List items = upload.parseRequest(request);
        Iterator iter = items.iterator();
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();
            String fieldName = item.getFieldName();

            // ??sessionId
            if ("sessionId".equals(fieldName)) {
                String sessionId = item.getString();
                if (StringUtils.isBlank(sessionId)) {
                    throw new BusinessException(ErrorCode.PARAMETER_NOT_FOUND, "missing [sessionId]");
                }
                // ?sessionId
                resource = userManager.checkSession(sessionId);
            }
            // ?
            if ("Filedata".equals(fieldName)) {
                uploadFlag = true;
                InputStream in = item.getInputStream();
                License lic = LicenceUtil.parseLicense(in);

                licenseManager.checkLicense(lic);
                String id = licenseManager.upload(lic);

                // ??
                SysLog log = new SysLog();
                log.setResourceId(resource.getId());
                log.setResourceName(resource.getName());
                log.setResourceType(resource.getType());
                log.setTargetId(id.toString());
                log.setTargetName("License");
                log.setTargetType("License");
                log.setLogTime(System.currentTimeMillis());
                log.setOperationType("uploadLicense");
                log.setOperationName("License");
                log.setOperationCode("2151");
                log.setSuccessFlag(ErrorCode.SUCCESS);
                log.setCreateTime(System.currentTimeMillis());
                log.setOrganId(resource.getOrganId());
                sysLogManager.batchLog(log);
            }
        }
        if (!uploadFlag) {
            throw new BusinessException(ErrorCode.MISSING_PARAMETER_FILEDATA,
                    "Parameter [Filedata] not found !");
        }
    } else {
        throw new BusinessException(ErrorCode.NOT_MULTIPART_REQUEST, "Not multipart request !");
    }

    // 
    BaseDTO dto = new BaseDTO();
    dto.setCmd("2151");
    dto.setMethod("Upload_License");
    writePage(response, dto);
}

From source file:com.googlecode.example.FileUploadServlet.java

@Override
@SuppressWarnings({ "unchecked" })
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    logger.debug("Processing request...");
    if (isMultipartContent(request)) {
        String storageRoot = request.getSession().getServletContext().getRealPath(STORAGE_ROOT);
        File dirPath = new File(storageRoot);
        if (!dirPath.exists()) {
            if (dirPath.mkdirs()) {
                logger.debug("Storage directories created successfully.");
            }/*from ww w . java  2 s.  c o  m*/
        }
        PrintWriter writer = response.getWriter();
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(UPLOAD_SIZE);
        factory.setRepository(dirPath);
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setSizeMax(UPLOAD_SIZE);
        try {
            List<FileItem> items = upload.parseRequest(request);
            for (FileItem item : items) {
                if (!item.isFormField()) {
                    File file = new File(new StringBuilder(storageRoot).append("/")
                            .append(getName(item.getName())).toString());
                    logger.debug("Writing file to: {}", file.getCanonicalPath());
                    item.write(file);
                }
            }
            response.setStatus(SC_OK);
        } catch (Exception e) {
            logger.error(e.getMessage(), e);
            response.setStatus(SC_INTERNAL_SERVER_ERROR);
        }
        writer.flush();
    }
}

From source file:eg.nileu.cis.nilestore.webapp.servlets.UploadServletRequest.java

/**
 * Init_ajax upload.//from w ww. j av  a 2  s  .c o  m
 * 
 * @throws Exception
 *             the exception
 */
@SuppressWarnings("unchecked")
private void init_ajaxUpload() throws Exception {

    ServletFileUpload uploadHandler = new ServletFileUpload(new DiskFileItemFactory());
    List<FileItem> items = uploadHandler.parseRequest(request);
    for (FileItem item : items) {
        if (!item.isFormField()) {
            File f = File.createTempFile("upfile", ".tmp");
            f.deleteOnExit();
            item.write(f);
            fileName = item.getName();
            if (fileName.contains(File.separator)) {
                fileName = fileName.substring(fileName.lastIndexOf(File.separator) + 1);
            }
            filePath = f.getAbsolutePath();
            isFileFound = true;
            // Here we handle only one file at once
            break;
        } else {
            if (item.getFieldName().equals(DEST_FIELD_NAME)) {
                dest = Integer.valueOf(item.getString());
            }
        }
    }
    String t = getParameter("t");
    if (t != null) {
        returnType = t;
    }
}

From source file:com.mylop.servlet.ImageServlet.java

public void uploadImage(HttpServletRequest request, HttpServletResponse response) throws IOException {
    response.setContentType("application/json");
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

    HttpSession session = request.getSession();
    String account = (String) session.getAttribute("userid");
    if (isMultipart) {
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        try {//from w w  w  .java 2  s . c o m
            List<FileItem> multiparts = upload.parseRequest(request);
            for (FileItem item : multiparts) {
                if (!item.isFormField()) {
                    String contentType = item.getContentType();
                    String[] ext = contentType.split("/");

                    String fileName = UPLOAD_DIRECTORY + File.separator + account + "_Avatar";
                    File file = new File(fileName);

                    item.write(file);
                    String avatarUrl = "http://mylop.tk:8080/Avatar/" + account + "_Avatar";
                    ProfileModel pm = new ProfileModel();
                    Map<String, String> update = new HashMap<String, String>();
                    update.put("avatar", avatarUrl);
                    pm.updateProfile(account, update);
                }
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    String json = "{\"message\": \"success\"}";
    response.getWriter().write(json);

}

From source file:com.oskopek.r3s.web.servlet.UploadResultsServlet.java

/**
 * @param request  the HttpServletRequest
 * @param response the HttpServletResponse
 * @throws IOException/*  w ww. ja  v a2 s .  c  o m*/
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws IOException {
    Path batchDir = Files.createTempDirectory("results");

    ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
    List<FileItem> items;
    try {
        items = servletFileUpload.parseRequest(request);
    } catch (FileUploadException e) {
        response.sendError(500, e.getMessage());
        e.printStackTrace();
        return;
    }

    //TODO result upload

    /*
    for (FileItem item : items) {
    if (item.isFormField()) {
        // ignore regular form fields
    } else {
        // process files
            
        String fileName = FilenameUtils.getName(item.getName());
        InputStream fileContent = item.getInputStream();
            
        storageBean.storeToDirectory(fileContent, fileName, batchDir);
    }
    }
            
    Path infoProps = Paths.get(batchDir.toString(), DirectoryLoader.infoFileName);
    if (!Files.exists(infoProps)) { // if the info file wasn't uploaded, generate a random demo one
    Properties demo = Main.createDemoProperties();
    Path props = Paths.get(batchDir.toString(), DirectoryLoader.infoFileName);
    demo.store(Files.newOutputStream(props), "Demo properties");
    }
    */
}