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

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

Introduction

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

Prototype

public void setSizeThreshold(int sizeThreshold) 

Source Link

Document

Sets the size threshold beyond which files are written directly to disk.

Usage

From source file:ngse.org.FileUploadTool.java

static public String FileUpload(Map<String, String> fields, List<String> filesOnServer,
        HttpServletRequest request, HttpServletResponse response) {

    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    // Create a factory for disk-based file items
    DiskFileItemFactory factory = new DiskFileItemFactory();
    int MaxMemorySize = 10000000;
    int MaxRequestSize = MaxMemorySize;
    String tmpDir = System.getProperty("TMP", "/tmp");
    System.out.printf("temporary directory:%s", tmpDir);

    // Set factory constraints
    factory.setSizeThreshold(MaxMemorySize);
    factory.setRepository(new File(tmpDir));

    // Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setHeaderEncoding("utf8");

    // Set overall request size constraint
    upload.setSizeMax(MaxRequestSize);/*from   w w w  . jav  a2  s. co  m*/

    // Parse the request
    try {
        List<FileItem> items = upload.parseRequest(request);
        // Process the uploaded items
        Iterator<FileItem> iter = items.iterator();
        while (iter.hasNext()) {
            FileItem item = iter.next();
            if (item.isFormField()) {//k -v

                String name = item.getFieldName();
                String value = item.getString("utf-8");
                fields.put(name, value);
            } else {

                String fieldName = item.getFieldName();
                String fileName = item.getName();
                if (fileName == null || fileName.length() < 1) {
                    return "file name is empty.";
                }
                String localFileName = ServletConfig.fileServerRootDir + File.separator + "tmp" + File.separator
                        + fileName;
                System.out.printf("upload file:%s", localFileName);
                String contentType = item.getContentType();
                boolean isInMemory = item.isInMemory();
                long sizeInBytes = item.getSize();
                File uploadedFile = new File(localFileName);
                item.write(uploadedFile);
                filesOnServer.add(localFileName);
            }

        }
        return "success";
    } catch (FileUploadException e) {
        e.printStackTrace();
        return e.toString();
    } catch (Exception e) {
        e.printStackTrace();
        return e.toString();
    }

}

From source file:nju.edu.cn.LicenseRecognitionResource.java

@Post
public String upload(Representation input) throws ResourceException {
    StringBuffer licenseBuffer = new StringBuffer();

    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(1000240);

    RestletFileUpload upload = new RestletFileUpload(factory);
    List<FileItem> items = null;
    try {//  ww  w .j av  a2  s  . c  o  m
        items = upload.parseRepresentation(input);

        try {
            String license = null;
            for (final Iterator<FileItem> it = items.iterator(); it.hasNext();) {
                FileItem fi = it.next();

                if (fi.isFormField()) {

                } else {
                    String fileName = fi.getName();
                    if (fileName.isEmpty()) {
                        continue;
                    }

                    File container = new File(Constants.kUploadImageContainerDirectory);
                    if (!container.exists()) {
                        container.mkdirs();
                    }
                    String fileDirecotry = Constants.kUploadImageContainerDirectory + fileName;
                    fi.getInputStream();
                    fi.write(new File(fileDirecotry));
                    license = this.recognize(fileDirecotry);

                    if (license != null) {
                        licenseBuffer.append(license);
                    }
                }
            }
            getResponse().setStatus(Status.SUCCESS_CREATED);
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        }
    } catch (Exception e) {
        getResponse().setStatus(Status.CLIENT_ERROR_BAD_REQUEST);
        e.printStackTrace();
    }
    return licenseBuffer.toString();
}

From source file:nl.armatiek.xslweb.serializer.RequestSerializer.java

private List<FileItem> getMultipartContentItems() throws IOException, FileUploadException {
    List<FileItem> items = null;
    boolean isMultipart = ServletFileUpload.isMultipartContent(req);
    if (isMultipart) {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(0);
        reposDir = new File(FileUtils.getTempDirectory(), File.separatorChar + UUID.randomUUID().toString());
        if (!reposDir.mkdirs()) {
            throw new XSLWebException(
                    String.format("Could not create DiskFileItemFactory repository directory (%s)",
                            reposDir.getAbsolutePath()));
        }/*from  ww  w . j  a v a2 s.co m*/
        factory.setRepository(reposDir);
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setSizeMax(1024 * 1024 * webApp.getMaxUploadSize());
        items = upload.parseRequest(req);
    }
    return items;
}

From source file:nl.fontys.pts61a.vps.controller.UploadController.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    if (!ServletFileUpload.isMultipartContent(request)) {
        PrintWriter writer = response.getWriter();
        writer.println("Error: Form must has enctype=multipart/form-data.");
        writer.flush();/*from ww w . j a v  a  2 s.  c o m*/
        return;
    }

    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(MEMORY_THRESHOLD);
    factory.setRepository(new File(System.getProperty("java.io.tmpdir")));

    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setFileSizeMax(MAX_FILE_SIZE);
    upload.setSizeMax(MAX_REQUEST_SIZE);
    String uploadPath = getServletContext().getRealPath("") + File.separator + UPLOAD_DIRECTORY;

    File uploadDir = new File("verplaatsingen");
    if (!uploadDir.exists()) {
        uploadDir.mkdir();
    }

    try {
        @SuppressWarnings("unchecked")
        List<FileItem> formItems = upload.parseRequest(request);

        if (formItems != null && formItems.size() > 0) {
            for (FileItem item : formItems) {
                if (!item.isFormField()) {

                    final InputStream stream = item.getInputStream();
                    final byte[] bytes = IOUtils.toByteArray(stream);
                    String movementJson = new String(bytes, "UTF-8");

                    String fileName = new File(item.getName()).getName();
                    String filePath = uploadPath + File.separator + fileName;
                    File storeFile = new File(filePath);

                    JSONObject json = (JSONObject) new JSONParser().parse(movementJson);
                    Long cartrackerId = Long.parseLong(json.get("cartrackerId").toString());

                    String verificatieCode = json.get("verificatieCode").toString();

                    Cartracker c = service.checkCartrackerId(cartrackerId, verificatieCode);
                    Long nextId = c.getLastId() + 1l;

                    if (Objects.equals(nextId, Long.valueOf(json.get("currentId").toString()))) {

                        List<JSONObject> movementsJson = (List<JSONObject>) json.get("verplaatsingen");

                        for (JSONObject jo : movementsJson) {
                            Movement m = new Movement();
                            m.setLongitude(Double.parseDouble(jo.get("longitude").toString()));
                            m.setLatitude(Double.parseDouble(jo.get("latitude").toString()));
                            String string = jo.get("date").toString();

                            java.util.Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(string);
                            new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(date);
                            m.setRegistrationDate(date);
                            m.setMovementId(Long.parseLong(jo.get("movementId").toString()));
                            m.setDistance(Long.parseLong(jo.get("distance").toString()));
                            m.setCartracker(c);
                            service.addMovement(m);
                        }
                        service.setCartracketNextId(c, nextId);
                    } else {
                        PrintWriter writer = response.getWriter();
                        writer.println("Missing: " + nextId);
                        writer.flush();
                        return;
                    }
                    //                        try {
                    //                            item.write(storeFile);
                    //                        } catch (Exception ex) {
                    //                            Logger.getLogger(UploadController.class.getName()).log(Level.SEVERE, null, ex);
                    //                        }

                }
            }

            PrintWriter writer = response.getWriter();
            writer.println("File uploaded.");
            writer.flush();
        }
    } catch (ParseException | FileUploadException | java.text.ParseException ex) {
        Logger.getLogger(UploadController.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:onlinefrontlines.utils.UploadedImageManager.java

/**
 * Add image from http request/*from  w w  w.  ja  v  a 2  s  .c o  m*/
 * 
 * @param prefix Prefix for the image
 * @param id Id for the image
 * @param request Request that contains the image data
 * @param width Max with for the image
 * @param height Max height for the image
 * @throws AddException
 */
@SuppressWarnings("unchecked")
public void addImage(String prefix, int id, HttpServletRequest request, int width, int height)
        throws AddException {
    try {
        // Get files from request
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(MAX_FILE_SIZE);
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setSizeMax(MAX_FILE_SIZE);
        List<FileItem> items = (List<FileItem>) upload.parseRequest(request);

        // Find correct attachment
        for (FileItem item : items)
            if (!item.isFormField()) {
                // Skip file uploads that don't have a file name - meaning that no file was selected.
                if (item.getName() == null || item.getName().trim().length() < 1)
                    continue;

                try {
                    // Read image to see if it is correct
                    InputStream is = item.getInputStream();
                    try {
                        BufferedImage image = ImageIO.read(is);
                        if (image == null)
                            throw new AddException("imageCorrupt");
                        if (image.getHeight() != height || image.getWidth() != width)
                            throw new AddException("invalidResolution");
                    } finally {
                        is.close();
                    }

                    // Add the image
                    is = item.getInputStream();
                    try {
                        addImage(prefix, id, is, item.getContentType());
                    } finally {
                        is.close();
                    }
                    break;
                } catch (IOException e) {
                    throw new AddException("imageCorrupt");
                }
            }
    } catch (FileUploadException e) {
        throw new AddException("failedFileUpload");
    }
}

From source file:OpenProdocServ.ImpElemF.java

/**
 *
 * @param Req//from ww w. j  av a2s .c o  m
 * @throws Exception
 */
@Override
protected void ProcessPage(HttpServletRequest Req, PrintWriter out) throws Exception {
    String FileName = null;
    InputStream FileData = null;
    try {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(1000000);
        ServletFileUpload upload = new ServletFileUpload(factory);
        boolean isMultipart = ServletFileUpload.isMultipartContent(Req);
        List items = upload.parseRequest(Req);
        Iterator iter = items.iterator();
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();
            if (!item.isFormField()) {
                FileName = item.getName();
                FileData = item.getInputStream();
                break;
            }
        }
        DriverGeneric PDSession = SParent.getSessOPD(Req);
        DocumentBuilder DB = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        Document XMLObjects = DB.parse(FileData);
        NodeList OPDObjectList = XMLObjects.getElementsByTagName(ObjPD.XML_OPDObject);
        Node OPDObject;
        ObjPD Obj2Build;
        int Tot = 0;
        for (int i = 0; i < OPDObjectList.getLength(); i++) {
            OPDObject = OPDObjectList.item(i);
            Obj2Build = PDSession.BuildObj(OPDObject);
            Obj2Build.ProcesXMLNode(OPDObject);
            Tot++;
        }
        DB.reset();
        out.println(UpFileStatus.SetResultOk(Req, "Total=" + Tot));
        FileData.close();
    } catch (Exception e) {
        out.println(UpFileStatus.SetResultKo(Req, e.getLocalizedMessage()));
        throw e;
    }
}

From source file:OpenProdocServ.ImportDocF.java

/**
 *
 * @param Req/*from  w ww . jav  a2  s  .  co m*/
 * @throws Exception
 */
@Override
protected void ProcessPage(HttpServletRequest Req, PrintWriter out) throws Exception {
    String FileName = null;
    InputStream FileData = null;
    HashMap<String, String> ListFields = new HashMap();
    try {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(1000000);
        ServletFileUpload upload = new ServletFileUpload(factory);
        boolean isMultipart = ServletFileUpload.isMultipartContent(Req);
        List items = upload.parseRequest(Req);
        Iterator iter = items.iterator();
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();
            if (item.isFormField())
                ListFields.put(item.getFieldName(), item.getString());
            else {
                FileName = item.getName();
                FileData = item.getInputStream();
            }
        }
        if (!isMultipart || FileData == null) {
            out.println("KO");
        } else {
            ListFields = GetDat(Req);
            PDDocs Doc;
            DriverGeneric PDSession = getSessOPD(Req);
            String DType = (String) ListFields.get(PDDocs.fDOCTYPE);
            if (DType == null)
                Doc = new PDDocs(PDSession);
            else
                Doc = new PDDocs(PDSession, DType);
            Record Rec = Doc.getRecSum();
            Rec.initList();
            Attribute Attr = Rec.nextAttr();
            while (Attr != null) {
                if (!List.contains(Attr.getName())) {
                    String Val = (String) ListFields.get(Attr.getName());
                    if (Attr.getType() == Attribute.tBOOLEAN) {
                        if (Val == null || Val.length() == 0 || Val.equals("0"))
                            Attr.setValue(false);
                        else
                            Attr.setValue(true);
                    } else if (Val != null) {
                        SParent.FillAttr(Req, Attr, Val, false);
                    }
                }
                Attr = Rec.nextAttr();
            }
            Doc.assignValues(Rec);
            Doc.setParentId(ListFields.get("CurrFold"));
            Doc.setName(FileName);
            PDMimeType mt = new PDMimeType(PDSession);
            Doc.setMimeType(mt.SolveName(FileName));
            Doc.setStream(FileData);
            Doc.insert();
            out.println(UpFileStatus.SetResultOk(Req, ""));
            FileData.close();
        }
    } catch (Exception e) {
        out.println(UpFileStatus.SetResultKo(Req, e.getLocalizedMessage()));
        throw e;
    }
}

From source file:OpenProdocServ.ModDocF.java

/**
 *
 * @param Req/*from   w w w .ja va 2  s  .  co  m*/
 * @throws Exception
 */
@Override
protected void ProcessPage(HttpServletRequest Req, PrintWriter out) throws Exception {
    String FileName = null;
    InputStream FileData = null;
    HashMap<String, String> ListFields = new HashMap();
    try {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(1000000);
        ServletFileUpload upload = new ServletFileUpload(factory);
        boolean isMultipart = ServletFileUpload.isMultipartContent(Req);
        List items = upload.parseRequest(Req);
        Iterator iter = items.iterator();
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();
            if (item.isFormField())
                ListFields.put(item.getFieldName(), item.getString());
            else {
                FileName = item.getName();
                FileData = item.getInputStream();
            }
        }
        if (!isMultipart || FileData == null) {
            out.println("KO");
        } else {
            ListFields = GetDat(Req);
            PDDocs Doc;
            DriverGeneric PDSession = getSessOPD(Req);
            String DType = (String) ListFields.get(PDDocs.fDOCTYPE);
            if (DType == null)
                Doc = new PDDocs(PDSession);
            else
                Doc = new PDDocs(PDSession, DType);
            Doc.LoadFull((String) ListFields.get(PDDocs.fPDID));
            Record Rec = Doc.getRecSum();
            Rec.initList();
            Attribute Attr = Rec.nextAttr();
            while (Attr != null) {
                if (!List.contains(Attr.getName())) {
                    String Val = (String) ListFields.get(Attr.getName());
                    if (Attr.getType() == Attribute.tBOOLEAN) {
                        if (Val == null || Val.length() == 0 || Val.equals("0"))
                            Attr.setValue(false);
                        else
                            Attr.setValue(true);
                    } else if (Val != null) {
                        SParent.FillAttr(Req, Attr, Val, false);
                    }
                }
                Attr = Rec.nextAttr();
            }
            Doc.assignValues(Rec);
            Doc.setParentId(ListFields.get("CurrFold"));
            Doc.setName(FileName);
            PDMimeType mt = new PDMimeType(PDSession);
            Doc.setMimeType(mt.SolveName(FileName));
            Doc.setStream(FileData);
            Doc.update();
            out.println(UpFileStatus.SetResultOk(Req, ""));
        }
    } catch (Exception e) {
        out.println(UpFileStatus.SetResultKo(Req, e.getLocalizedMessage()));
        throw e;
    }
}

From source file:OpenProdocServ.Oper.java

/**
 * /*from   www . j  a va  2  s .  c  om*/
 * @param request
 * @param response 
 */
private void InsFile(HttpServletRequest Req, HttpServletResponse response) throws Exception {
    if (PDLog.isDebug())
        PDLog.Debug("InsFile");
    FileItem ItemFile = null;
    InputStream FileData = null;
    HashMap ListFields = new HashMap();
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(1000000);
    ServletFileUpload upload = new ServletFileUpload(factory);
    List items = upload.parseRequest(Req);
    Iterator iter = items.iterator();
    while (iter.hasNext()) {
        FileItem item = (FileItem) iter.next();
        if (item.isFormField())
            ListFields.put(item.getFieldName(), item.getString());
        else {
            FileData = item.getInputStream();
            ItemFile = item;
        }
    }
    DriverGeneric PDSession = getSessOPD(Req);
    String Id = (String) ListFields.get("Id");
    String Ver = (String) ListFields.get("Ver");
    PDSession.InsertFile(Id, Ver, FileData);
    if (FileData != null)
        FileData.close();
    if (ItemFile != null)
        ItemFile.delete();
    items.clear(); // to help and speed gc
    PrintWriter out = response.getWriter();
    Answer(Req, out, true, null, null);
    out.close();
}

From source file:or.tango.server.controller.FileController.java

public void upload(HttpServletRequest request, HttpServletResponse response) {
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(4 * 1024);

    String tmpdir = request.getSession().getServletContext().getRealPath("/temp/");
    File tempd = new File(tmpdir);
    if (!tempd.exists()) {
        tempd.mkdirs();//w  w  w  . ja  v a  2s  .c om
    }
    factory.setRepository(tempd);
    ServletFileUpload upload = new ServletFileUpload(factory);

    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddkkmmssSSS");
    String filedir = sdf.format(date);

    String result = null;
    try {
        FileItem item = upload.parseRequest(request).get(0);
        /**
         * @author ladd_cn(ladd.cn@gmail.com)
         * @version 1.0
         * @date 2013/8/23
         * @modify 1:start
         */
        String fileDirectory = request.getSession().getServletContext().getRealPath("/images/" + filedir);
        if (!isPicture(item.getName(), null)) {
            System.out.println("Illegel file type");
            result = null;
        } else {
            File dir = new File(fileDirectory);
            if (!dir.exists()) {
                dir.mkdirs();
            }
            File file = new File(fileDirectory + "/" + item.getName());
            /**
             * @modify 1:end
             */
            item.write(file);
            result = FileService.pickupText(file);
        }
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    BaseController.resonseJson(response, result);
}