Example usage for org.apache.wicket.protocol.http.servlet MultipartServletWebRequest parseFileParts

List of usage examples for org.apache.wicket.protocol.http.servlet MultipartServletWebRequest parseFileParts

Introduction

In this page you can find the example usage for org.apache.wicket.protocol.http.servlet MultipartServletWebRequest parseFileParts.

Prototype

public abstract void parseFileParts() throws FileUploadException;

Source Link

Document

Parses the multipart body of the request.

Usage

From source file:org.hippoecm.frontend.plugins.jquery.upload.behaviors.AjaxFileUploadBehavior.java

License:Apache License

@Override
public void onRequest() {
    ServletWebRequest servletWebRequest = (ServletWebRequest) RequestCycle.get().getRequest();
    try {/*from  w ww.  j a v  a  2s.c om*/
        MultipartServletWebRequest multipartServletWebRequest = createMultipartWebRequest(servletWebRequest);
        multipartServletWebRequest.parseFileParts();

        Map<String, FileUploadInfo> allUploadedFiles = new HashMap<>();
        // try to upload all files
        for (List<FileItem> files : multipartServletWebRequest.getFiles().values()) {
            for (FileItem file : files) {
                // save file info prior uploading because temporary files may be deleted,
                // thus their file sizes won't be correct.
                FileUploadInfo fileUploadInfo = new FileUploadInfo(file.getName(), file.getSize());
                onBeforeUpload(fileUploadInfo);
                try {
                    log.debug("Processed a file: {}", file.getName());
                    process(new FileUpload(file));
                } catch (FileUploadViolationException e) {
                    e.getViolationMessages().forEach(errorMsg -> fileUploadInfo.addErrorMessage(errorMsg));
                    if (log.isDebugEnabled()) {
                        log.debug("Uploading file '{}' has some violation: {}", file.getName(),
                                StringUtils.join(fileUploadInfo.getErrorMessages().toArray(), ";"), e);
                    }
                    onUploadError(fileUploadInfo);
                } finally {
                    // remove from cache
                    file.delete();
                }
                onAfterUpload(file, fileUploadInfo);
                allUploadedFiles.put(file.getName(), fileUploadInfo);
            }
        }
        setResponse(servletWebRequest, allUploadedFiles);
    } catch (FileUploadException e) {
        final String message = "Error handling file upload request";
        log.error(message, e);
        setResponse(servletWebRequest, message);
    }
}