@Override public Collection<Part> getParts() throws IOException, ServletException { return b.request.getParts(); }
private static List<Part> resolvePartList(HttpServletRequest request, String name) throws Exception { Collection<Part> parts = request.getParts(); List<Part> result = new ArrayList<>(parts.size()); for (Part part : parts) { if (part.getName().equals(name)) { result.add(part); } } return result; }
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // ... List<Part> fileParts = request.getParts().stream().filter(part -> "file".equals(part.getName())).collect(Collectors.toList()); // Retrieves <input type="file" name="file" multiple="true"> for (Part filePart : fileParts) { String fileName = Paths.get(filePart.getSubmittedFileName()).getFileName().toString(); // MSIE fix. InputStream fileContent = filePart.getInputStream(); // ... (do your job here) } }
private static List<Part> resolvePartList(HttpServletRequest request, String name) throws Exception { Collection<Part> parts = request.getParts(); List<Part> result = new ArrayList<>(parts.size()); for (Part part : parts) { if (part.getName().equals(name)) { result.add(part); } } return result; }
@Override public List<NativeUpload> files(final String name) throws IOException { try { if (multipart) { return req.getParts().stream() .filter(part -> part.getSubmittedFileName() != null && part.getName().equals(name)) .map(part -> new ServletUpload(part, tmpdir)) .collect(Collectors.toList()); } return Collections.emptyList(); } catch (ServletException ex) { throw new IOException("File not found: " + name, ex); } }
private void parseRequest(HttpServletRequest request) { try { Collection<Part> parts = request.getParts(); this.multipartParameterNames = new LinkedHashSet<>(parts.size()); MultiValueMap<String, MultipartFile> files = new LinkedMultiValueMap<>(parts.size()); for (Part part : parts) { String headerValue = part.getHeader(HttpHeaders.CONTENT_DISPOSITION); ContentDisposition disposition = ContentDisposition.parse(headerValue); String filename = disposition.getFilename(); if (filename != null) { if (filename.startsWith("=?") && filename.endsWith("?=")) { filename = MimeDelegate.decode(filename); } files.add(part.getName(), new StandardMultipartFile(part, filename)); } else { this.multipartParameterNames.add(part.getName()); } } setMultipartFiles(files); } catch (Throwable ex) { handleParseFailure(ex); } }
private void bindParts(HttpServletRequest request, MutablePropertyValues mpvs) { try { MultiValueMap<String, Part> map = new LinkedMultiValueMap<>(); for (Part part : request.getParts()) { map.add(part.getName(), part); } map.forEach((key, values) -> { if (values.size() == 1) { Part part = values.get(0); if (isBindEmptyMultipartFiles() || part.getSize() > 0) { mpvs.add(key, part); } } else { mpvs.add(key, values); } }); } catch (Exception ex) { throw new MultipartException("Failed to get request parts", ex); } }
public static Map<String, byte[]> getPostMap(HttpServletRequest request) { Map<String, byte[]> map = new HashMap<>(); Map<String, String[]> pm = request.getParameterMap(); if (pm != null && pm.size() > 0) { for (Map.Entry<String, String[]> entry: pm.entrySet()) { String[] v = entry.getValue(); if (v != null && v.length > 0) map.put(entry.getKey(), UTF8.getBytes(v[0])); } } else try { final byte[] b = new byte[1024]; for (Part part: request.getParts()) { String name = part.getName(); InputStream is = part.getInputStream(); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); int c; try {while ((c = is.read(b, 0, b.length)) > 0) { baos.write(b, 0, c); }} finally {is.close();} map.put(name, baos.toByteArray()); } } catch (IOException e) { } catch (ServletException e) { } return map; }
protected final Collection<Part> parseMultipart(HttpServletRequest request) throws OryxServingException { Collection<Part> parts; try { try { // Prefer container's standard JavaEE multipart parsing: parts = request.getParts(); } catch (UnsupportedOperationException uoe) { // Grizzly (used in tests) doesn't support this; fall back until it does parts = parseMultipartWithCommonsFileUpload(request); } } catch (IOException | ServletException e) { throw new OryxServingException(Response.Status.BAD_REQUEST, e.getMessage()); } check(!parts.isEmpty(), "No parts"); return parts; }
HttpServletRequest servletRequest = webRequest.getNativeRequest(HttpServletRequest.class); if (servletRequest != null && MultipartResolutionDelegate.isMultipartRequest(servletRequest)) { Collection<Part> parts = servletRequest.getParts(); LinkedMultiValueMap<String, Part> result = new LinkedMultiValueMap<>(parts.size()); for (Part part : parts) { HttpServletRequest servletRequest = webRequest.getNativeRequest(HttpServletRequest.class); if (servletRequest != null && MultipartResolutionDelegate.isMultipartRequest(servletRequest)) { Collection<Part> parts = servletRequest.getParts(); LinkedHashMap<String, Part> result = new LinkedHashMap<>(parts.size()); for (Part part : parts) {
private Set<FlowFile> handleMultipartRequest(HttpServletRequest request, ProcessSession session, String foundSubject) throws IOException, IllegalStateException, ServletException { Set<FlowFile> flowFileSet = new HashSet<>(); String tempDir = System.getProperty("java.io.tmpdir"); request.setAttribute(Request.__MULTIPART_CONFIG_ELEMENT, new MultipartConfigElement(tempDir, multipartRequestMaxSize, multipartRequestMaxSize, multipartReadBufferSize)); List<Part> requestParts = ImmutableList.copyOf(request.getParts()); for (int i = 0; i < requestParts.size(); i++) { Part part = requestParts.get(i); FlowFile flowFile = session.create(); try (OutputStream flowFileOutputStream = session.write(flowFile)) { StreamUtils.copy(part.getInputStream(), flowFileOutputStream); } flowFile = saveRequestDetailsAsAttributes(request, session, foundSubject, flowFile); flowFile = savePartDetailsAsAttributes(session, part, flowFile, i, requestParts.size()); flowFileSet.add(flowFile); } return flowFileSet; }
private void parseRequest(HttpServletRequest request) { try { Collection<Part> parts = request.getParts(); this.multipartParameterNames = new LinkedHashSet<>(parts.size()); MultiValueMap<String, MultipartFile> files = new LinkedMultiValueMap<>(parts.size()); for (Part part : parts) { String headerValue = part.getHeader(HttpHeaders.CONTENT_DISPOSITION); ContentDisposition disposition = ContentDisposition.parse(headerValue); String filename = disposition.getFilename(); if (filename != null) { if (filename.startsWith("=?") && filename.endsWith("?=")) { filename = MimeDelegate.decode(filename); } files.add(part.getName(), new StandardMultipartFile(part, filename)); } else { this.multipartParameterNames.add(part.getName()); } } setMultipartFiles(files); } catch (Throwable ex) { handleParseFailure(ex); } }
private void bindParts(HttpServletRequest request, MutablePropertyValues mpvs) { try { MultiValueMap<String, Part> map = new LinkedMultiValueMap<>(); for (Part part : request.getParts()) { map.add(part.getName(), part); } map.forEach((key, values) -> { if (values.size() == 1) { Part part = values.get(0); if (isBindEmptyMultipartFiles() || part.getSize() > 0) { mpvs.add(key, part); } } else { mpvs.add(key, values); } }); } catch (Exception ex) { throw new MultipartException("Failed to get request parts", ex); } }
protected Map<String, String> copyFileName(HttpServletRequest req) { Map<String, String> parts = new HashMap<>(); if (req.getContentType() == null) { return parts; } if (req.getContentType() != null && !req.getContentType().toLowerCase().contains("multipart/form-data")) { return parts; } try { Collection<Part> prs = req.getParts(); for (Part p : prs) { if (p instanceof ApplicationPart) { ApplicationPart ap = (ApplicationPart) p; parts.put(p.getName(), ap.getSubmittedFileName()); } } } catch (IOException | ServletException e) { e.printStackTrace(); } return parts; }
HttpServletRequest servletRequest = webRequest.getNativeRequest(HttpServletRequest.class); if (servletRequest != null && MultipartResolutionDelegate.isMultipartRequest(servletRequest)) { Collection<Part> parts = servletRequest.getParts(); LinkedMultiValueMap<String, Part> result = new LinkedMultiValueMap<>(parts.size()); for (Part part : parts) { HttpServletRequest servletRequest = webRequest.getNativeRequest(HttpServletRequest.class); if (servletRequest != null && MultipartResolutionDelegate.isMultipartRequest(servletRequest)) { Collection<Part> parts = servletRequest.getParts(); LinkedHashMap<String, Part> result = new LinkedHashMap<>(parts.size()); for (Part part : parts) {
protected Map<String, String> copyParts(HttpServletRequest req) { Map<String, String> parts = new HashMap<>(); if (req.getContentType() == null) { return parts; } if (req.getContentType() != null && !req.getContentType().toLowerCase().contains("multipart/form-data")) { return parts; } String enc = "UTF-8"; try { Collection<Part> prs = req.getParts(); for (Part p : prs) { parts.put(p.getName(), new String(StreamUtil.readBytes(p.getInputStream()), enc)); } } catch (IOException | ServletException e) { e.printStackTrace(); } return parts; }
Collection<Part> uploads = req.raw().getParts(); Map<String, String> contents = new LinkedHashMap<>();
Iterable<Part> parts = request.getParts(); List<Part> uploadedInputParts = new ArrayList<>();
request.setAttribute(Request.__MULTIPART_CONFIG_ELEMENT, new MultipartConfigElement(tempDir, requestMaxSize, requestMaxSize, readBufferSize)); try { List<Part> parts = ImmutableList.copyOf(request.getParts()); int allPartsCount = parts.size(); final String contextIdentifier = UUID.randomUUID().toString();
/** * The default behavior of this method is to call getParts on the wrapped * request object. * * <p>Any changes to the returned <code>Collection</code> must not * affect this <code>HttpServletRequestWrapper</code>. * * @since Servlet 3.0 */ public Collection<Part> getParts() throws IOException, ServletException { return this._getHttpServletRequest().getParts(); }