Example usage for org.apache.commons.fileupload.disk DiskFileItem delete

List of usage examples for org.apache.commons.fileupload.disk DiskFileItem delete

Introduction

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

Prototype

public void delete() 

Source Link

Document

Deletes the underlying storage for a file item, including deleting any associated temporary disk file.

Usage

From source file:org.jahia.bin.TextExtractor.java

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

    if (!textExtractionService.isEnabled()) {
        response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Text extraction service is not enabled.");
        return null;
    }/*from   w  w w.j  a va  2s .  com*/

    if (!ServletFileUpload.isMultipartContent(request)) {
        response.sendError(HttpServletResponse.SC_BAD_REQUEST, "No file was submitted");
        return null;
    }

    FileUpload upload = new FileUpload(request, settingsBean.getTmpContentDiskPath(), Integer.MAX_VALUE);
    if (upload.getFileItems().size() == 0) {
        response.sendError(HttpServletResponse.SC_BAD_REQUEST, "No file was submitted");
        return null;
    }

    DiskFileItem inputFile = upload.getFileItems().values().iterator().next();
    InputStream stream = null;
    try {
        stream = inputFile.getInputStream();
        Metadata metadata = new Metadata();
        metadata.set(Metadata.CONTENT_TYPE, inputFile.getContentType());
        metadata.set(Metadata.RESOURCE_NAME_KEY, inputFile.getName());

        long startTime = System.currentTimeMillis();

        String content = textExtractionService.parse(stream, metadata);

        Map<String, Object> model = new HashMap<String, Object>();

        Map<String, Object> properties = new HashMap<String, Object>();
        for (String name : metadata.names()) {
            properties.put(name, metadata.isMultiValued(name) ? metadata.getValues(name) : metadata.get(name));
        }
        model.put("metadata", properties);
        model.put("content", content);
        model.put("file", inputFile);
        model.put("extracted", Boolean.TRUE);
        model.put("extractionTime", Long.valueOf(System.currentTimeMillis() - startTime));

        return new ModelAndView(view, model);

    } catch (Exception e) {
        logger.error("Error extracting text for uploaded file " + inputFile.getFieldName() + ". Cause: "
                + e.getMessage(), e);
        response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
                "Exception occurred: " + e.getMessage());
    } finally {
        IOUtils.closeQuietly(stream);
        for (DiskFileItem file : upload.getFileItems().values()) {
            file.delete();
        }
    }

    return null;
}

From source file:org.jahia.tools.files.FileUpload.java

public void disposeItems() {
    if (getFileItems() != null) {
        for (DiskFileItem item : getFileItems().values()) {
            if (item != null) {
                try {
                    item.delete();
                } catch (Exception e) {
                    if (logger.isDebugEnabled()) {
                        logger.warn("Unable to delete the uploaded file item " + item.getName(), e);
                    } else {
                        logger.warn("Unable to delete the uploaded file item {}", item.getName());
                    }/*from w  w  w. j a  va 2s . com*/
                }
            }
        }
    }
}

From source file:org.mortbay.servlet.LLabsMultiPartFilter.java

/**
 * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest,
 *      javax.servlet.ServletResponse, javax.servlet.FilterChain)
 *//*from ww  w .j ava  2 s.  c o  m*/
@SuppressWarnings("unchecked")
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
        throws IOException, ServletException {

    logger.info("Received uploadRequest:" + request);
    if (Log.isDebugEnabled())
        Log.debug(getClass().getName() + ">>> Received Request");

    HttpServletRequest srequest = (HttpServletRequest) request;
    if (srequest.getContentType() == null || !srequest.getContentType().startsWith("multipart/form-data")) {
        chain.doFilter(request, response);
        return;
    }
    if (ServletFileUpload.isMultipartContent(srequest)) {
        // Parse the request

        List<File> tempFiles = new ArrayList<File>();
        try {

            MultiMap params = new MultiMap();

            logger.info("Parsing Request");

            List<DiskFileItem> fileItems = uploadHandler.parseRequest(srequest);

            logger.info("Done Parsing Request, got FileItems:" + fileItems);

            StringBuilder filenames = new StringBuilder();

            for (final DiskFileItem diskFileItem : fileItems) {
                if (diskFileItem.getName() == null && diskFileItem.getFieldName() != null
                        && diskFileItem.getFieldName().length() > 0) {
                    params.put(diskFileItem.getFieldName(), diskFileItem.getString());
                    continue;
                }
                if (diskFileItem.getName() == null)
                    continue;
                final File tempFile = File.createTempFile("upload" + diskFileItem.getName(), ".tmp");
                tempFiles.add(tempFile);

                diskFileItem.write(tempFile);
                request.setAttribute(diskFileItem.getName(), tempFile);
                filenames.append(diskFileItem.getName()).append(",");
            }
            params.put("Filenames", filenames.toString());
            logger.info("passing on filter");
            chain.doFilter(new Wrapper(srequest, params), response);

            for (final DiskFileItem diskFileItem : fileItems) {
                diskFileItem.delete();
            }
        } catch (FileUploadException e) {
            e.printStackTrace();
            Log.warn(getClass().getName() + "MPartRequest, ERROR:" + e.getMessage());
            logger.error("FileUpload Failed", e);
            writeResponse((HttpServletResponse) response, HttpServletResponse.SC_EXPECTATION_FAILED);
        } catch (Throwable e) {
            logger.error(e.getMessage(), e);
            Log.warn(getClass().getName() + "MPartRequest, ERROR:" + e.getMessage());
            e.printStackTrace();
            writeResponse((HttpServletResponse) response, HttpServletResponse.SC_EXPECTATION_FAILED);
        } finally {
            for (File tempFile : tempFiles) {
                try {
                    tempFile.delete();
                } catch (Throwable t) {
                }
            }
        }
    }

}