Tuesday, January 10, 2012

File Upload Utility

package com.jlr.onlinereservation.utils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class FileUploadUtil {

    public static boolean isMultipart(final HttpServletRequest request) {
        return ServletFileUpload.isMultipartContent(request);
    }

    public static List<FileItem> parseRequest(final HttpServletRequest request)
            throws FileUploadException {
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        return upload.parseRequest(request);
    }

    public static Map<String, String> getParameters(final List<FileItem> items) {
        Map<String, String> result = new HashMap<String, String>();
        for (FileItem item : items) {
            if (item.isFormField()) {
                result.put(item.getFieldName(), item.getString());
            }
        }
        return result;
    }

    public static Map<String, FileItem> getFiles(final List<FileItem> items) {
            Map<String, FileItem> result = new HashMap<String, FileItem>();
        for (FileItem item : items) {
            if (!item.isFormField()) {
                result.put(item.getFieldName(), item);
            }
        }
        return result;
    }
}

No comments: