public static List<FileItem> parseUpload(FileUpload upload, byte[] bytes, String contentType) throws FileUploadException { final HttpServletRequest request = new MockHttpServletRequest(bytes, contentType); List<FileItem> fileItems = upload.parseRequest(new ServletRequestContext(request)); return fileItems; }
FileUpload fileUpload = new FileUpload(fileItemFactory); RequestContext requestContext = new MockHttpOutputMessageRequestContext(outputMessage); List<FileItem> items = fileUpload.parseRequest(requestContext); assertEquals(6, items.size()); FileItem item = items.get(0);
FileUpload fileUpload = new FileUpload(fileItemFactory); RequestContext requestContext = new MockHttpOutputMessageRequestContext(outputMessage); List<FileItem> items = fileUpload.parseRequest(requestContext); assertEquals(2, items.size());
public HttpFileUploadRequestWrapper(HttpServletRequest pRequest, File pUploadDir, long pMaxSize) throws ServletException { super(pRequest); DiskFileItemFactory factory = new DiskFileItemFactory( 128 * 1024, // 128 KByte new File(pUploadDir.getAbsolutePath()) ); FileUpload upload = new FileUpload(factory); upload.setSizeMax(pMaxSize); // TODO: Defer request parsing?? try { //noinspection unchecked List<FileItem> items = upload.parseRequest(new ServletRequestContext(pRequest)); for (FileItem item : items) { if (item.isFormField()) { processFormField(item.getFieldName(), item.getString()); } else { processeFile(item); } } } catch (FileUploadBase.SizeLimitExceededException e) { throw new FileSizeExceededException(e); } catch (org.apache.commons.fileupload.FileUploadException e) { throw new FileUploadException(e); } }
public Iterator<FileItem> run() throws Exception { return upload.parseRequest(httpRequest).iterator(); } });
/** * Parse the given request, resolving its multipart elements. * * @param request the request to parse. * * @return the parsing result. * * @throws MultipartException if multipart resolution failed. */ private MultipartParsingResult parseRequest(HttpRequest request) throws MultipartException { String encoding = determineEncoding(request); FileUpload fileUpload = prepareFileUpload(encoding); try { RequestBody body = request.getBody(); Assert.notNull(body, "The body cannot be null."); List<FileItem> fileItems = fileUpload.parseRequest(new BodyContext(body)); return parseFileItems(fileItems, encoding); } catch (FileUploadBase.SizeLimitExceededException ex) { throw new MaxUploadSizeExceededException(fileUpload.getSizeMax(), ex); } catch (FileUploadBase.FileSizeLimitExceededException ex) { throw new MaxUploadSizeExceededException(fileUpload.getFileSizeMax(), ex); } catch (FileUploadException ex) { throw new MultipartException("Failed to parse multipart servlet request.", ex); } }
FileItemFactory factory = new DiskFileItemFactory(); FileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(req); for (FileItem uploadedItem : items) { if (uploadedItem.isFormField()) { String fieldName = uploadedItem.getFieldName(); if ("name".equals(fieldName)){ name = uploadedItem.getString(); } } else { // process file field } }
@SuppressWarnings("unchecked") @Override public Iterator<FileItem> readFrom(Class<Iterator<FileItem>> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, String> httpHeaders, InputStream entityStream) throws IOException { try { ApplicationContext context = ApplicationContext.getCurrent(); int bufferSize = context.getEverrestConfiguration().getMaxBufferSize(); FileItemFactory factory = new InMemoryItemFactory(bufferSize); FileUpload upload = new FileUpload(factory); return upload.parseRequest(httpRequest).iterator(); } catch (FileUploadException e) { throw new IOException(String.format("Can't process multipart data item, %s", e)); } } }
/** * @see MessageBodyReader#readFrom(Class, Type, Annotation[], MediaType, * MultivaluedMap, InputStream) */ public List<FileItem> readFrom(Class<List<FileItem>> type, Type genericType, Annotation[] annotations, MediaType mediaType, final MultivaluedMap<String, String> respHeaders, final InputStream entityStream) throws IOException { final FileUpload rfu = new FileUpload(); final RequestContext requCtx = new RequestContext(entityStream, respHeaders); try { return rfu.parseRequest(requCtx); } catch (FileUploadException e) { if (e.getCause() instanceof IOException) { throw (IOException) e.getCause(); } final IOException ioExc = new IOException( "Could not read the multipart/form-data"); ioExc.initCause(e); throw ioExc; } } }
try { FileUpload upload = new FileUpload(new DefaultFileItemFactory()); Iterator iterator = upload.parseRequest(request).iterator(); while (iterator.hasNext()) { FileItem item = (FileItem) iterator.next();
List<FileItem> list = (List<FileItem>)upload.parseRequest(ctx); HashMap<String, FileItem> files = new HashMap<String, FileItem>(); for (FileItem file : list) {
@Override @SuppressWarnings("unchecked") public Iterator<FileItem> readFrom(Class<Iterator<FileItem>> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, String> httpHeaders, InputStream entityStream) throws IOException { try { ApplicationContext context = ApplicationContext.getCurrent(); int bufferSize = context.getEverrestConfiguration().getMaxBufferSize(); DefaultFileItemFactory factory = new DefaultFileItemFactory(bufferSize, FileCollector.getInstance().getStore()); FileUpload upload = new FileUpload(factory); return upload.parseRequest(httpRequest).iterator(); } catch (FileUploadException e) { throw new IOException(String.format("Can't process multipart data item, %s", e)); } }
@SuppressWarnings("squid:S2095") public static Multipart read(final MediaType contentType, final int contentLength, final InputStream inputStream) throws IOException { final FileUpload fileUpload = new FileUpload(); fileUpload.setFileItemFactory(new DiskFileItemFactory()); final List<FileItem> fileItems; try { fileItems = fileUpload.parseRequest(new UploadRequest(contentType, contentLength, inputStream)); } catch (final FileUploadException ex) { throw new IOException("Error parsing form: " + ex.getMessage(), ex); } final Multipart result = new Multipart(contentType); for (final FileItem fileItem : fileItems) { if (fileItem.isFormField()) { result.param(new Part(fileItem.getFieldName(), fileItem.getString())); } else { result.param(new Part(fileItem.getFieldName(), fileItem.getName(), fileItem.getInputStream())); } } return result; }
List<FileItem> list = fileupload.parseRequest(reqContext); if (list.size() > 0) { LOG.info("Loaded " + list.size() + " uploaded files");
public static ClassifiableContentIF getFileUploadContent(HttpServletRequest request) { // Handle file upload String contentType = request.getHeader("content-type"); // out.write("CT: " + contentType + " " + tm + " " + id); if (contentType != null && contentType.startsWith("multipart/form-data")) { try { FileUpload upload = new FileUpload(new DefaultFileItemFactory()); for (FileItem item : upload.parseRequest(request)) { if (item.getSize() > 0) { // ISSUE: could make use of content type if known byte[] content = item.get(); ClassifiableContent cc = new ClassifiableContent(); String name = item.getName(); if (name != null) cc.setIdentifier("fileupload:name:" + name); else cc.setIdentifier("fileupload:field:" + item.getFieldName()); cc.setContent(content); return cc; } } } catch (Exception e) { throw new OntopiaRuntimeException(e); } } return null; }
public static ClassifiableContentIF getFileUploadContent(HttpServletRequest request) { // Handle file upload String contentType = request.getHeader("content-type"); // out.write("CT: " + contentType + " " + tm + " " + id); if (contentType != null && contentType.startsWith("multipart/form-data")) { try { FileUpload upload = new FileUpload(new DefaultFileItemFactory()); for (FileItem item : upload.parseRequest(request)) { if (item.getSize() > 0) { // ISSUE: could make use of content type if known byte[] content = item.get(); ClassifiableContent cc = new ClassifiableContent(); String name = item.getName(); if (name != null) cc.setIdentifier("fileupload:name:" + name); else cc.setIdentifier("fileupload:field:" + item.getFieldName()); cc.setContent(content); return cc; } } } catch (Exception e) { throw new OntopiaRuntimeException(e); } } return null; }
@SuppressWarnings("unchecked") Map<String, Object[]> getMultipartParameterMap(final FileUpload fileUpload, final RequestContext requestContext) { try { final String encoding = requestContext.getCharacterEncoding(); fileUpload.setHeaderEncoding(encoding); final List<FileItem> items = fileUpload .parseRequest(requestContext); // Fieldごとにパラメータを集める final Map<String, Object[]> parameterMap = toParameterMap(encoding, items); return parameterMap; } catch (final FileUploadException e) { final String messageCode; final Object[] args; if (e instanceof SizeLimitExceededException) { final SizeLimitExceededException sle = (SizeLimitExceededException) e; messageCode = "ECUB0202"; args = new Object[] { sle.getPermittedSize(), sle.getActualSize() }; } else { messageCode = "ECUB0201"; args = new Object[] { e }; } throw new RequestParseException(format(messageCode, args), e); } catch (final IOException e) { throw new RequestParseException(e); } }