Example usage for org.apache.commons.fileupload LiferayFileItemFactory LiferayFileItemFactory

List of usage examples for org.apache.commons.fileupload LiferayFileItemFactory LiferayFileItemFactory

Introduction

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

Prototype

public LiferayFileItemFactory(File tempDir) 

Source Link

Usage

From source file:com.liferay.util.servlet.UploadServletRequest.java

public UploadServletRequest(HttpServletRequest req) throws IOException {

    super(req);//ww w .j  a  v  a 2  s. com

    _params = new LinkedHashMap();

    try {
        //DiskFileUpload diskFileUpload = new DiskFileUpload(
        //   new LiferayFileItemFactory(DEFAULT_TEMP_DIR));

        ServletFileUpload diskFileUpload = new LiferayDiskFileUpload(
                new LiferayFileItemFactory(DEFAULT_TEMP_DIR), req);

        diskFileUpload.setSizeMax(DEFAULT_SIZE_MAX);

        List list = diskFileUpload.parseRequest(req);

        for (int i = 0; i < list.size(); i++) {
            LiferayFileItem fileItem = (LiferayFileItem) list.get(i);

            if (fileItem.isFormField()) {
                fileItem.setString(req.getCharacterEncoding());
            }

            LiferayFileItem[] fileItems = (LiferayFileItem[]) _params.get(fileItem.getFieldName());

            if (fileItems == null) {
                fileItems = new LiferayFileItem[] { fileItem };
            } else {
                LiferayFileItem[] newFileItems = new LiferayFileItem[fileItems.length + 1];

                System.arraycopy(fileItems, 0, newFileItems, 0, fileItems.length);

                newFileItems[newFileItems.length - 1] = fileItem;

                fileItems = newFileItems;
            }

            _params.put(fileItem.getFieldName(), fileItems);
            if (fileItem.getFileName() != null)
                _params.put(fileItem.getFileName(), new LiferayFileItem[] { fileItem });

        }
    } catch (FileUploadException fue) {
        Logger.error(this, fue.getMessage(), fue);
    }
}