@Override public MultipartServletWebRequest newMultipartWebRequest(Bytes maxSize, String upload) throws FileUploadException { return wrappedRequest.newMultipartWebRequest(maxSize, upload); }
@Override public MultipartServletWebRequest newMultipartWebRequest(Bytes maxSize, String upload, FileItemFactory factory) throws FileUploadException { return wrappedRequest.newMultipartWebRequest(maxSize, upload, factory); }
@Override public MultipartServletWebRequest newMultipartWebRequest(Bytes maxSize, String upload) throws FileUploadException { return wrappedRequest.newMultipartWebRequest(maxSize, upload); }
@Override public MultipartServletWebRequest newMultipartWebRequest(Bytes maxSize, String upload, FileItemFactory factory) throws FileUploadException { return wrappedRequest.newMultipartWebRequest(maxSize, upload, factory); }
@Override protected void respond(AjaxRequestTarget target) { try { ServletWebRequest webRequest = (ServletWebRequest) getRequest(); MultipartServletWebRequest multiPartRequest = webRequest.newMultipartWebRequest( Bytes.megabytes(maxFilesize), "ignored"); multiPartRequest.parseFileParts(); fileItems.addAll(multiPartRequest.getFiles().get("file")); } catch (FileUploadException e) { throw new RuntimeException(e); } }
public UploadValuePage(PageParameters parameters) { super(parameters); Bytes maxSize = Bytes.kilobytes(20000); ServletWebRequest swr = (ServletWebRequest) getRequest(); MultipartServletWebRequest mswr = swr.newMultipartWebRequest(maxSize, "uploadId"); mswr.parseFileParts(); // since Wicket 6.18.0 FileItem item = mswr.getFile("fileInput").get(0); // process item }
final MultipartServletWebRequest multipartWebRequest = request.newMultipartWebRequest( getMaxSize(), getPage().getId()); multipartWebRequest.setFileMaxSize(getFileMaxSize());
final MultipartServletWebRequest multipartWebRequest = request.newMultipartWebRequest( getMaxSize(), getPage().getId()); multipartWebRequest.setFileMaxSize(getFileMaxSize());
/** * Create a multi-part request containing uploading files that supports disk caching. * * @param request * @return the multi-part request or exception thrown if there's any error. * @throws FileUploadException */ private MultipartServletWebRequest createMultipartWebRequest(final ServletWebRequest request) throws FileUploadException { DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(Application.get().getResourceSettings().getFileCleaner()) { @Override public FileItem createItem(String fieldName, String contentType, boolean isFormField, String fileName) { FileItem item = super.createItem(fieldName, contentType, isFormField, fileName); return new TemporaryFileItem(item); } }; try { long contentLength = Long.valueOf(request.getHeader("Content-Length")); if (contentLength > 0) { return request.newMultipartWebRequest(Bytes.bytes(contentLength), container.getPage().getId(), diskFileItemFactory); } else { throw new FileUploadException("Invalid file upload content length"); } } catch (NumberFormatException e) { throw new FileUploadException("Invalid file upload content length", e); } }
@Override protected void onEvent(AjaxRequestTarget target) { try { ServletWebRequest request = (ServletWebRequest)getComponent().getRequest(); final MultipartServletWebRequest multipartWebRequest = request .newMultipartWebRequest(getMaxSize(), getComponent().getPage().getId()); multipartWebRequest.setFileMaxSize(getFileMaxSize()); multipartWebRequest.parseFileParts(); // TODO: Can't this be detected from header? getComponent().getRequestCycle().setRequest(multipartWebRequest); ArrayList<FileUpload> fileUploads = new ArrayList<>(); // Get the item for the path final List<FileItem> fileItems = multipartWebRequest.getFile(parameterName); if (fileItems != null) { for (FileItem item : fileItems) { fileUploads.add(new FileUpload(item)); } } onFileUpload(target, fileUploads); } catch (final FileUploadException fux) { onError(target, fux); } }