Example usage for org.apache.commons.fileupload.disk DiskFileItemFactory setRepository

List of usage examples for org.apache.commons.fileupload.disk DiskFileItemFactory setRepository

Introduction

In this page you can find the example usage for org.apache.commons.fileupload.disk DiskFileItemFactory setRepository.

Prototype

public void setRepository(File repository) 

Source Link

Document

Sets the directory used to temporarily store files that are larger than the configured size threshold.

Usage

From source file:user.controller.ProccessCreate.java

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request//from  w  ww.java2  s  . c o m
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {
        request.setCharacterEncoding("UTF-8");
        DiskFileItemFactory factory = new DiskFileItemFactory();
        File filedir = (File) getServletContext().getAttribute("FILES_DIR_FILE");
        factory.setRepository(filedir);
        List items = new ServletFileUpload(factory).parseRequest(request);
        StringBuilder builder = new StringBuilder();
        builder.append("{");
        for (FileItem item : (List<FileItem>) items) {
            if (item.isFormField()) {
                if (item.getFieldName().equals("gioiTinh")) {
                    builder.append("\"").append(item.getFieldName()).append("\"" + ":").append("\"")
                            .append(item.getString().equals("Nam") ? 1 : 0).append("\",");
                } else {
                    InputStreamReader inputStreamReader = new InputStreamReader(
                            (InputStream) item.getInputStream(), "UTF-8");
                    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
                    String line;
                    while ((line = bufferedReader.readLine()) != null) {
                        builder.append("\"").append(item.getFieldName()).append("\"" + ":").append("\"")
                                .append(line).append("\",");
                    }

                }
            } else {
                if (!"".equals(item.getName())) {
                    builder.append("\"").append(item.getFieldName()).append("\"" + ":").append("\"")
                            .append(item.getName()).append("\",");

                    // get file path
                    ServletConfig config = getServletConfig();
                    ServletContext context = config.getServletContext();
                    String webInfPath = context.getRealPath("static");

                    InputStream inputStream = item.getInputStream();
                    File file = new File(webInfPath + "/images/" + item.getName());
                    //                    file.createNewFile();
                    OutputStream os = new FileOutputStream(file);
                    byte[] buffer = new byte[10 * 1024];
                    for (int length; (length = inputStream.read(buffer)) != -1;) {
                        os.write(buffer, 0, length);
                    }
                }

            }
        }
        builder.deleteCharAt(builder.length() - 1);
        builder.append("}");
        GsonBuilder gsonBuilder = new GsonBuilder();
        Gson g = gsonBuilder.create();
        Systemuser systemuser = g.fromJson(builder.toString(), Systemuser.class);
        Systemuserhelper s = new Systemuserhelper();
        if (null == s.create(systemuser)) {
            response.getWriter().write("Fail!!!");
        } else {
            response.getWriter().write("Success");
        }
    } catch (FileUploadException | IOException e) {
        response.getWriter().write("Fail!!!");
        e.printStackTrace();
    }

}

From source file:user.controller.ProcessData.java

public void processAdd(HttpServletRequest request, HttpServletResponse response) throws IOException {
    try {/*w w w  .jav a  2 s.  c  o m*/
        List<String> tenBangCaps = new ArrayList<>();
        List<String> noiCaps = new ArrayList<>();
        List<String> ngayCaps = new ArrayList<>();

        request.setCharacterEncoding("UTF-8");
        DiskFileItemFactory factory = new DiskFileItemFactory();
        File filedir = (File) getServletContext().getAttribute("FILES_DIR_FILE");
        factory.setRepository(filedir);
        List items = new ServletFileUpload(factory).parseRequest(request);
        StringBuilder builder = new StringBuilder();
        builder.append("{");
        for (FileItem item : (List<FileItem>) items) {
            if (item.isFormField()) {
                if (item.getFieldName().equals("gioiTinh")) {
                    builder.append("\"").append(item.getFieldName()).append("\"" + ":").append("\"")
                            .append(item.getString().equals("on") ? 1 : 0).append("\",");
                } else if (item.getFieldName().contains("[]")) {
                    InputStreamReader inputStreamReader;
                    BufferedReader bufferedReader;
                    String line;
                    switch (item.getFieldName()) {
                    case "tenBangCap[]":
                        inputStreamReader = new InputStreamReader((InputStream) item.getInputStream(), "UTF-8");
                        bufferedReader = new BufferedReader(inputStreamReader);
                        while ((line = bufferedReader.readLine()) != null) {
                            tenBangCaps.add(item.getString());

                        }
                        break;
                    case "ngayCap[]":
                        inputStreamReader = new InputStreamReader((InputStream) item.getInputStream(), "UTF-8");
                        bufferedReader = new BufferedReader(inputStreamReader);
                        while ((line = bufferedReader.readLine()) != null) {
                            ngayCaps.add(item.getString());
                        }
                        break;
                    case "noiCap[]":
                        inputStreamReader = new InputStreamReader((InputStream) item.getInputStream(), "UTF-8");
                        bufferedReader = new BufferedReader(inputStreamReader);
                        while ((line = bufferedReader.readLine()) != null) {
                            noiCaps.add(item.getString());
                        }
                        break;
                    }
                } else {
                    InputStreamReader inputStreamReader = new InputStreamReader(
                            (InputStream) item.getInputStream(), "UTF-8");
                    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
                    String line;
                    while ((line = bufferedReader.readLine()) != null) {
                        builder.append("\"").append(item.getFieldName()).append("\"" + ":").append("\"")
                                .append(line).append("\",");
                    }
                }
            } else if (!"".equals(item.getName())) {
                builder.append("\"").append(item.getFieldName()).append("\"" + ":").append("\"")
                        .append(item.getName()).append("\",");
                // get file path
                ServletConfig config = getServletConfig();
                ServletContext context = config.getServletContext();
                String webInfPath = context.getRealPath("static");

                InputStream inputStream = item.getInputStream();
                File file = new File(webInfPath + "/images/" + item.getName());
                //                    file.createNewFile();
                OutputStream os = new FileOutputStream(file);
                byte[] buffer = new byte[10 * 1024];
                for (int length; (length = inputStream.read(buffer)) != -1;) {
                    os.write(buffer, 0, length);
                }
            }
        }
        builder.deleteCharAt(builder.length() - 1);
        //           
        builder.append("}");
        GsonBuilder gsonBuilder = new GsonBuilder();
        Gson g = gsonBuilder.create();
        Systemuser systemuser = g.fromJson(builder.toString(), Systemuser.class);
        Systemuserhelper s = new Systemuserhelper();
        String id = s.create(systemuser);
        if (id == null) {
            sendResultSignal(request, response, FAIL);
        } else {
            StringBuilder stringBuilderDiploma;

            for (int i = 0; i < tenBangCaps.size(); i++) {
                stringBuilderDiploma = new StringBuilder();
                stringBuilderDiploma.append("{").append("\"tenBangCap\":\"").append(tenBangCaps.get(i))
                        .append("\",").append("\"ngayCap\":\"").append(ngayCaps.get(i)).append("\",")
                        .append("\"noiCap\":\"").append(noiCaps.get(i)).append("\"}");
                Userdiploma userdiploma = g.fromJson(stringBuilderDiploma.toString(), Userdiploma.class);
                userdiploma.setSystemuser(systemuserhelper.findOne(Integer.parseInt(id)));
                Diplomahelper d = new Diplomahelper();
                if (null == d.create(userdiploma)) {
                    sendResultSignal(request, response, FAIL);
                }
            }

        }
    } catch (FileUploadException | IOException e) {
        sendResultSignal(request, response, FAIL);

    }
}

From source file:user.controller.ProcessFileUpload.java

@SuppressWarnings("null")
private void processData(HttpServletRequest request, HttpServletResponse response) throws IOException {
    OutputStream os = null;// w  ww  .j av a 2s  . c o  m
    try {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        File filedir = (File) getServletContext().getAttribute("FILES_DIR_FILE");
        factory.setRepository(filedir);
        List items = new ServletFileUpload(factory).parseRequest(request);
        for (FileItem item : (List<FileItem>) items) {
            if (!item.isFormField()) {
                ServletConfig config = getServletConfig();
                ServletContext context = config.getServletContext();
                String webInfPath = context.getRealPath("static");
                InputStream inputStream = item.getInputStream();
                File file = new File(webInfPath + "/images/" + item.getName());
                //                    file.createNewFile();
                os = new FileOutputStream(file);
                byte[] buffer = new byte[10 * 1024];
                for (int length; (length = inputStream.read(buffer)) != -1;) {
                    os.write(buffer, 0, length);
                }
                response.getWriter().write(item.getName());
            }
        }
    } catch (FileNotFoundException | FileUploadException ex) {
        Logger.getLogger(ProcessFileUpload.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        os.close();
    }
}

From source file:users.registration.UploadServlet.java

/**
 * Upon receiving file upload submission, parses the request to read upload data and saves the file on disk.
 *
 * @param request// w w w.  j av a  2  s . c om
 * @param response
 * @throws javax.servlet.ServletException
 * @throws java.io.IOException
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    response.setContentType("text/html");

    // checks if the request actually contains upload file
    if (!ServletFileUpload.isMultipartContent(request)) {
        // if not, we stop here
        PrintWriter writer = response.getWriter();
        writer.println("Error: Form must has enctype=multipart/form-data.");
        writer.flush();
        return;
    }

    // configures upload settings
    DiskFileItemFactory factory = new DiskFileItemFactory();
    // sets memory threshold - beyond which files are stored in disk
    factory.setSizeThreshold(MEMORY_THRESHOLD);
    // sets temporary location to store files
    factory.setRepository(new File(System.getProperty("java.io.tmpdir")));

    ServletFileUpload upload = new ServletFileUpload(factory);

    // sets maximum size of upload file
    upload.setFileSizeMax(MAX_FILE_SIZE);

    // sets maximum size of request (include file + form data)
    upload.setSizeMax(MAX_REQUEST_SIZE);

    // constructs the directory path to store upload file
    // this path is relative to application's directory
    String uploadPath = getServletContext().getRealPath("") + File.separator + UPLOAD_DIRECTORY;

    // creates the directory if it does not exist
    File uploadDir = new File(uploadPath);

    if (!uploadDir.exists())
        uploadDir.mkdir();

    try {
        // parses the request's content to extract file data
        @SuppressWarnings("unchecked")
        List<FileItem> formItems = upload.parseRequest(request);

        if (formItems != null && formItems.size() > 0) {
            // iterates over form's fields
            for (FileItem item : formItems) {
                // processes only fields that are not form fields
                if (!item.isFormField()) {
                    String fileName = new File(item.getName()).getName();
                    String filePath = uploadPath + File.separator + fileName;
                    File storeFile = new File(filePath);

                    // saves the file on disk
                    item.write(storeFile);

                    request.setAttribute("filePath", filePath);
                }
            }
        }
    } catch (Exception ex) {
        log(getServletInfo(), ex);
    }

    RequestDispatcher rd = request.getRequestDispatcher("/admin/student_management/CreateBtechStudentUsers");
    rd.forward(request, response);

}

From source file:util.Upload.java

public boolean formProcess(ServletContext sc, HttpServletRequest request) {
    this.form = new HashMap<String, String>();
    Map<String, String> itemForm;

    File file;//from  ww w  .j  a v a 2  s  . c om
    int maxFileSize = 5000 * 1024;
    int maxMemSize = 5000 * 1024;
    String filePath = sc.getRealPath("//" + this.folderUpload);
    boolean ret;
    String contentType = request.getContentType();
    if ((contentType.indexOf("multipart/form-data") >= 0)) {

        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(maxMemSize);
        factory.setRepository(new File(System.getProperty("java.io.tmpdir")));
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setSizeMax(maxFileSize);
        try {
            List fileItems = upload.parseRequest(request);
            Iterator i = fileItems.iterator();

            while (i.hasNext()) {
                FileItem fi = (FileItem) i.next();
                if (!fi.isFormField()) {
                    String fieldName = fi.getFieldName();
                    String fileName = fi.getName();
                    if (!fileName.isEmpty()) {
                        boolean isInMemory = fi.isInMemory();
                        long sizeInBytes = fi.getSize();
                        String name = new Date().getTime() + fileName;

                        file = new File(filePath + "/" + name);
                        fi.write(file);
                        files.add(name);
                    }
                } else {

                    form.put(fi.getFieldName(), fi.getString());

                }
            }
            ret = true;

        } catch (Exception ex) {
            System.out.println(ex);
            ret = false;
        }
    } else {
        ret = false;
    }
    return ret;
}

From source file:utilities.FileIO.java

private static ServletFileUpload getFileUpload() {
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(UPLOAD_SIZE_THRESHOLD);
    new File(TEMP_DIR).mkdirs();
    factory.setRepository(new File(TEMP_DIR));

    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setSizeMax(MAX_UPLOAD_SIZE);/*from   www  .  j a  va 2 s  .  c om*/

    return upload;
}

From source file:utilities.UpoadFile.java

/**
 * handles file upload via HTTP POST method
 * @param request//w  w w.j a v  a  2  s . co  m
 * @param response
 * @throws javax.servlet.ServletException
 * @throws java.io.IOException
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    // checks if the request actually contains upload file
    if (!ServletFileUpload.isMultipartContent(request)) {
        PrintWriter writer = response.getWriter();
        writer.println("Request does not contain upload data");
        writer.flush();
        return;
    }

    // configures upload settings
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(THRESHOLD_SIZE);
    factory.setRepository(new File(System.getProperty("java.io.tmpdir")));

    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setFileSizeMax(MAX_FILE_SIZE);
    upload.setSizeMax(MAX_REQUEST_SIZE);

    // constructs the directory path to store upload file
    String uploadPath = getServletContext().getRealPath("") + File.separator + UPLOAD_DIRECTORY;
    // creates the directory if it does not exist
    File uploadDir = new File(uploadPath);
    if (!uploadDir.exists()) {
        uploadDir.mkdir();
    }

    try {
        // parses the request's content to extract file data
        List formItems = upload.parseRequest(request);
        Iterator iter = formItems.iterator();

        // iterates over form's fields
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();
            // processes only fields that are not form fields
            if (!item.isFormField()) {
                String fileName = new File(item.getName()).getName();
                String filePath = uploadPath + File.separator + fileName;
                File storeFile = new File(filePath);

                // saves the file on disk
                item.write(storeFile);
            }
        }
        request.setAttribute("message", "Upload has been done successfully!");
    } catch (Exception ex) {
        request.setAttribute("message", "There was an error: " + ex.getMessage());
    }
}

From source file:utn.frc.dlc.goses.CtrlUpload.UploadServlet.java

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, java.io.IOException {
    // Check that we have a file upload request
    isMultipart = ServletFileUpload.isMultipartContent(request);
    response.setContentType("text/html");
    java.io.PrintWriter out = response.getWriter();
    if (!isMultipart) {
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet upload</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<p>No file uploaded</p>");
        out.println("</body>");
        out.println("</html>");
        return;/*from   w ww  .  ja  v a 2  s .  co m*/
    }
    DiskFileItemFactory factory = new DiskFileItemFactory();
    // maximum size that will be stored in memory
    factory.setSizeThreshold(maxMemSize);
    // Location to save data that is larger than maxMemSize.
    factory.setRepository(new File("file/temp/"));

    // Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload(factory);
    // maximum file size to be uploaded.
    upload.setSizeMax(maxFileSize);

    try {
        // Parse the request to get file items.
        List fileItems = upload.parseRequest(request);

        // Process the uploaded file items
        Iterator i = fileItems.iterator();

        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet upload</title>");
        out.println("</head>");
        out.println("<body>");
        while (i.hasNext()) {
            FileItem fi = (FileItem) i.next();
            if (!fi.isFormField()) {
                // Get the uploaded file parameters
                String fieldName = fi.getFieldName();
                String fileName = fi.getName();
                String contentType = fi.getContentType();
                boolean isInMemory = fi.isInMemory();
                long sizeInBytes = fi.getSize();
                // Write the file
                if (fileName.lastIndexOf("\\") >= 0) {
                    file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\")));
                } else {
                    file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\") + 1));
                }
                fi.write(file);
                out.println("Uploaded Filename: " + fileName + "<br>");
                File afile = new File(filePath + fileName);
                Indexacion index = new Indexacion(file.getAbsolutePath());
                if (afile.renameTo(new File("file/share/" + afile.getName()))) {
                    out.println(fileName + " is upload successful!" + "<br>");
                } else {
                    out.println(fileName + " is failed to upload!" + "<br>");
                }
            }
        }
        out.println("</body>");
        out.println("</html>");
    } catch (Exception ex) {
        System.out.println(ex);
    }
}

From source file:v2.service.generic.library.utils.HttpStreamUtil.java

public static List<File> upLoad(HttpServletRequest request, String dir) {
    List<File> returnList = new ArrayList<>();
    if (!Misc.isNULL(dir)) {
        if ('/' != dir.charAt(0)) {
            dir = "/" + dir;
        }/*from   w  w  w  .  j  a  va 2 s  .  c o  m*/
    } else {
        dir = "/";
    }

    File cache_dir = new File("/tmp");
    File data_dir = new File(request.getSession().getServletContext().getRealPath("") + "/upload/" + dir);
    if (!cache_dir.isDirectory()) {
        Misc.mkdirs(cache_dir.getAbsolutePath());
    }
    if (!data_dir.isDirectory()) {
        Misc.mkdirs(data_dir.getAbsolutePath());
    }

    try {
        //FileItem  
        DiskFileItemFactory factory = new DiskFileItemFactory();
        //???100M
        factory.setSizeThreshold(100 * 1024 * 1024);
        //  
        factory.setRepository(cache_dir);
        //?  
        ServletFileUpload upload = new ServletFileUpload(factory);
        //?100M
        upload.setSizeMax(100 * 1024 * 1024);

        List /* FileItem */ items = upload.parseRequest(request);

        Iterator iter = items.iterator();
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();
            if (!item.isFormField()) {
                //?  
                String filename = item.getName();
                if (filename.equals("") && item.getSize() == 0) {
                    break;
                }
                File uploadedFile = new File(data_dir + "/" + filename);
                item.write(uploadedFile);
                returnList.add(uploadedFile);
                System.out.println(data_dir.getAbsolutePath() + "/" + filename);
            }
        }
    } catch (Exception e) {
        Logger.getLogger(HttpStreamUtil.class.getName()).log(Level.SEVERE, null, e);
    }
    return returnList;
}

From source file:voucherShop.ControllerVoucher.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from  w  ww .java2  s. com*/
 *
 * @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");
    File file;
    int maxFileSize = 5000 * 1024;
    int maxMemSize = 5000 * 1024;
    //ServletContext context = pageContext.getServletContext();
    String filePath = getServletContext().getInitParameter("file-upload");
    String contentType = request.getContentType();
    if ((contentType.indexOf("multipart/form-data") >= 0)) {

        DiskFileItemFactory factory = new DiskFileItemFactory();
        // maximum size that will be stored in memory
        factory.setSizeThreshold(maxMemSize);
        // Location to save data that is larger than maxMemSize.
        factory.setRepository(new File("c:\\temp"));

        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload(factory);
        // maximum file size to be uploaded.
        upload.setSizeMax(maxFileSize);
        out.println("1");
        try {
            out.println("2");
            // Parse the request to get file items.
            List fileItems = upload.parseRequest(request);

            // Process the uploaded file items
            Iterator i = fileItems.iterator();

            out.println("<html>");
            out.println("<head>");
            out.println("<title>JSP File upload</title>");
            out.println("</head>");
            out.println("<body>");
            while (i.hasNext()) {
                out.println("3");
                FileItem fi = (FileItem) i.next();
                if (!fi.isFormField()) {
                    out.println("4");
                    // Get the uploaded file parameters
                    String fieldName = fi.getFieldName();
                    String fileName = fi.getName();
                    boolean isInMemory = fi.isInMemory();
                    long sizeInBytes = fi.getSize();
                    out.println(fileName);
                    // Write the file
                    if (fileName.lastIndexOf("\\") >= 0) {
                        file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\")));
                    } else {
                        file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\") + 1));
                    }
                    out.println(filePath);
                    try {

                        fi.write(file);
                    } catch (Exception ex) {
                        System.out.println("li .....");
                        System.out.println(ex);
                    }
                    out.println("4");
                    out.println("Uploaded Filename: " + filePath + fileName + "<br>");
                } else {
                    out.println("sai ding dan");
                }
            }
            out.println("</body>");
            out.println("</html>");
        } catch (Exception ex) {
            System.out.println(ex);

        }
    } else {
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet upload</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<p>No file uploaded</p>");
        out.println("</body>");
        out.println("</html>");
    }
}