Example usage for org.apache.commons.fileupload.disk SilverpeasDiskFileItemFactory SilverpeasDiskFileItemFactory

List of usage examples for org.apache.commons.fileupload.disk SilverpeasDiskFileItemFactory SilverpeasDiskFileItemFactory

Introduction

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

Prototype

public SilverpeasDiskFileItemFactory() 

Source Link

Document

Constructs a new SilverpeasDiskFileItemFactory by setting by default the following parameters:
  • the size threshold is set at 2Mo: about this size, the file are temporarly stored in disk;
  • the temporary directory is the default one used in Silverpeas (@see org.silverpeas.core.util.file.FileRepositoryManager#getTemporaryPath());
  • a temporary file cleaner is set: all stored file in disks are deleted once no more unused (@see org.apache.commons.fileupload.disk.DiskFileItemFactory).

Usage

From source file:com.sun.portal.portletcontainer.driver.admin.UploadServlet.java

private void uploadFile(HttpServletRequest request, HttpServletResponse response)
        throws FileUploadException, PortletRegistryException {

    HttpSession session = AdminUtils.getClearedSession(request);

    SilverpeasDiskFileItemFactory factory = new SilverpeasDiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setSizeMax(maxUploadSize);/*from w ww  .  jav  a 2s . com*/

    // Parse the request
    @SuppressWarnings("unchecked")
    List<FileItem> fileItems = upload.parseRequest(request);
    Iterator<FileItem> itr = fileItems.iterator();

    while (itr.hasNext()) {
        FileItem fi = itr.next();
        // The following is not being used since in the upload form we are
        // not using any
        // non-file form fields. If you do put in some form fields you want
        // to use,
        // then this is where you will get the values of the form fields. -
        // Sandeep
        if (fi.isFormField()) {
            String name = fi.getFieldName();
            String value = fi.getString();
        }
    }

    String[] fileNames = new String[2];
    itr = fileItems.iterator();
    int i = 0;
    while (itr.hasNext()) {
        FileItem fi = itr.next();
        if (!fi.isFormField()) {
            fileNames[i] = processFileItem(fi);
            i++;
        }
    }
    deployPortlet(fileNames, session);
    // refresh portlet list
    AdminUtils.refreshList(request, getLanguage(request));
}