ServletFileUpload upload = new ServletFileUpload(); FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); InputStream stream = item.openStream(); int len; byte[] buffer = new byte[8192]; while ((len = stream.read(buffer, 0, buffer.length)) != -1) { out.write(buffer, 0, len);
public static final State save(HttpServletRequest request, Map<String, Object> conf) { FileItemStream fileStream = null; boolean isAjaxUpload = request.getHeader("X_Requested_With") != null; if (!ServletFileUpload.isMultipartContent(request)) { return new BaseState(false, AppInfo.NOT_MULTIPART_CONTENT); ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory()); upload.setHeaderEncoding("UTF-8"); FileItemIterator iterator = upload.getItemIterator(request); while (iterator.hasNext()) { fileStream = iterator.next(); if (!fileStream.isFormField()) break; fileStream = null; String originFileName = fileStream.getName(); String suffix = FileType.getSuffixByFilename(originFileName); return new BaseState(false, AppInfo.NOT_ALLOW_FILE_TYPE); InputStream is = fileStream.openStream(); try { FileService fileService = Context.FILE_SERVICE;
if (!ServletFileUpload.isMultipartContent(httpServletRequest)) return; while (fileItemIterator.hasNext()) { FileItemStream item = fileItemIterator.next(); if (item.isFormField()) { String contentType = item.getContentType(); String value = Streams.asString(item.openStream(), charset); formMap.put(item.getFieldName(), value); fileMap.put(item.getFieldName(), fileItem);
// Your upload handle would look like public void doPost(HttpServletRequest req, HttpServletResponse res) { // Get the image representation ServletFileUpload upload = new ServletFileUpload(); FileItemIterator iter = upload.getItemIterator(req); FileItemStream imageItem = iter.next(); InputStream imgStream = imageItem.openStream(); // construct our entity objects Blob imageBlob = new Blob(IOUtils.toByteArray(imgStream)); MyImage myImage = new MyImage(imageItem.getName(), imageBlob); // persist image PersistenceManager pm = PMF.get().getPersistenceManager(); pm.makePersistent(myImage); pm.close(); // respond to query res.setContentType("text/plain"); res.getOutputStream().write("OK!".getBytes()); }
ByteStreams.copy(item.openStream(), outputStream); } catch (IOException e) { throw new RuntimeException("Failed to create temporary uploaded file in memory", e); final String name = item.getName(); final byte[] bytes = outputStream.toByteArray(); final String contentType = item.getContentType(); final FileItemHeaders headers = item.getHeaders();
ServletFileUpload upload = new ServletFileUpload(); // Parse the request FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); InputStream stream = item.openStream(); if ( item.isFormField() == false) System.out.println("File field " + name + " with file name " + item.getName() + " detected."); FileOutputStream fos = new FileOutputStream("your_location"); Streams.copy ( stream, fos, true); } }
private void runTest(final int NUM_ITEMS, long pContentLength, MockHttpServletRequest request) throws FileUploadException, IOException { ServletFileUpload upload = new ServletFileUpload(); ProgressListenerImpl listener = new ProgressListenerImpl(pContentLength, NUM_ITEMS); upload.setProgressListener(listener); FileItemIterator iter = upload.getItemIterator(request); for (int i = 0; i < NUM_ITEMS; i++) { FileItemStream stream = iter.next(); InputStream istream = stream.openStream(); for (int j = 0; j < 16384+i; j++) { /** * This used to be * assertEquals((byte) j, (byte) istream.read()); * but this seems to trigger a bug in JRockit, so * we express the same like this: */ byte b1 = (byte) j; byte b2 = (byte) istream.read(); if (b1 != b2) { fail("Expected " + b1 + ", got " + b2); } } assertEquals(-1, istream.read()); istream.close(); } assertTrue(!iter.hasNext()); listener.checkFinished(); }
try { if (log.isDebugEnabled()) log.debug(request.getParameterMap()); ServletFileUpload upload = new ServletFileUpload(); FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); if (item.isFormField()) { args.put(name, Streams.asString(item.openStream())); } else { args.put("contentType", item.getContentType()); String fileName = item.getName(); int slash = fileName.lastIndexOf("/"); if (slash < 0) in = item.openStream(); writeToFile(request.getSession().getId() + "/" +fileName, in, true, request.getSession().getServletContext().getRealPath("/")); } catch (Exception e) { if (in != null) try { in.close(); } catch (Exception e) {
parameters = new HashMap<>(); binaryParameters = new ArrayList<>(); if (ServletFileUpload.isMultipartContent(request)) { final ServletFileUpload upload = new ServletFileUpload(); final FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { try { final FileItemStream item = iter.next(); final InputStream stream = item.openStream(); String fieldName = item.getFieldName(); if (fieldName.startsWith(BINARY_PARAMETER)) { binaryParameters.add(IOUtil.getAllContentFrom(stream)); parameters.put(fieldName, read); stream.close(); } catch (final Exception t) { throw new IOException(t); final Map<String, String[]> parameterMap = this.request.getParameterMap(); final Set<Entry<String, String[]>> entrySet = parameterMap.entrySet(); for (final Entry<String, String[]> entry : entrySet) {
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin")); response.setHeader("Access-Control-Allow-Headers", "Content-Type"); String token = (String)request.getSession().getAttribute("token"); response.setContentType("text/json"); try { boolean isMultipart = ServletFileUpload.isMultipartContent(request); long poid = -1; String comment = null; if (isMultipart) { ServletFileUpload upload = new ServletFileUpload(); FileItemIterator iter = upload.getItemIterator(request); InputStream in = null; String name = ""; while (iter.hasNext()) { FileItemStream item = iter.next(); if (item.isFormField()) { if ("token".equals(item.getFieldName())) { token = Streams.asString(item.openStream()); } else if ("poid".equals(item.getFieldName())) { poid = Long.parseLong(Streams.asString(item.openStream())); } else if ("comment".equals(item.getFieldName())) { comment = Streams.asString(item.openStream()); name = item.getName(); in = item.openStream();
throws IOException { boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { List<String> files = new ArrayList<>(); ServletFileUpload upload = new ServletFileUpload(); iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); try (InputStream stream = item.openStream()) { if (item.isFormField()) { LOGGER.debug("Form field " + name + " with value " + Streams.asString(stream) + " detected."); incrementStringsProcessed(); } else { LOGGER.debug("File field " + name + " with file name " + item.getName() + " detected."); try (Writer w = response.getWriter()) { w.write(Integer.toString(getFilesProcessed())); resetFilesProcessed(); try (Writer w = response.getWriter()) { w.write(Integer.toString(getFilesProcessed())); resetFilesProcessed();
private String handlePostBody(HttpServletRequest request, HttpServletResponse response) throws IOException { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); org.apache.commons.fileupload.FileItemIterator it = null; try { it = upload.getItemIterator(request); while (it.hasNext()) { FileItemStream stream = it.next(); InputStream input = stream.openStream(); // NOTE: we are going to pull the entire stream into memory // this will NOT work if we have huge scripts, but we expect these to be measured in KBs, not MBs or larger byte[] uploadedBytes = getBytesFromInputStream(input); input.close(); if (uploadedBytes.length == 0) { setUsageError(400, "ERROR: Body contained no data.", response); return null; } return new String(uploadedBytes); } } catch (FileUploadException e) { throw new IOException(e.getMessage()); } return null; }
ServletFileUpload upload = new ServletFileUpload(); resp.getWriter().println("File cannot be uploaded !"); return; iter = upload.getItemIterator(req); while (iter.hasNext()) { FileItemStream item = iter.next(); String fileName = item.getName(); String fieldName = item.getFieldName(); String mime = item.getContentType(); InputStream is = item.openStream(); try { FileService fileService = FileServiceFactory.getFileService(); byte[] b1 = new byte[BUFFER_SIZE]; int readBytes1; while ((readBytes1 = is.read(b1)) != -1) { writeChannel.write(ByteBuffer.wrap(b1, 0, readBytes1)); datastore.put(input); } catch (Exception e) { e.printStackTrace(resp.getWriter());
private void receive( FileItemStream item ) throws IOException { InputStream stream = item.openStream(); try { fileName = stripFileName( item.getName() ); String contentType = item.getContentType(); FileDetails details = new FileDetailsImpl( fileName, contentType ); FileUploadReceiver receiver = handler.getReceiver(); receiver.receive( stream, details ); tracker.addFile( details ); } finally { stream.close(); } }
FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); InputStream stream = item.openStream(); // the order of items is given by client, first form-fields, last file stream if (item.isFormField()) { String name = item.getFieldName(); String value = Streams.asString(stream); // here we get the param1 and param2 } else { String filename = item.getName(); String mimetype = item.getContentType(); ByteArrayOutputStream output = new ByteArrayOutputStream(); int nRead; while ((nRead = stream.read(buffer, 0, buffer.length)) != -1) { System.out.println("lenth111" +nRead); output.write(buffer, 0, nRead); } System.out.println("lenth" +nRead); output.flush(); } }
/** * Read next byte from file item input stream, creating it on the fly if necessary. * * @return next byte from input stream or -1 on stream end. * @throws IOException if read operation fails. */ @Override public int read() throws IOException { if (inputStream == null) { inputStream = fileItemStream.openStream(); } return inputStream.read(); }
Enumeration e = request.getParameterNames(); allParameters.add(new Parameter(param,request.getParameter(param),false)); allParameterNames.add(param); isMultipart = ServletFileUpload.isMultipartContent(request); len = request.getInputStream().read(buffer, 0, CHUNKED_BUFFER_SIZE); if ( len != -1 ) { size += len; ServletFileUpload sfu = new ServletFileUpload(); FileItemIterator iter = sfu.getItemIterator(this); while(iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); InputStream stream = item.openStream(); if (item.isFormField()) { String value = Streams.asString(stream);
String ajaxUpdateResult = ""; try { ServletFileUpload upload = new ServletFileUpload(); FileItemIterator iterator = upload.getItemIterator(req); while (iterator.hasNext()) { FileItemStream item = iterator.next(); InputStream stream = item.openStream(); if (item.isFormField()) { logger.warning("Got a form field: " + item.getFieldName()+ "value="+ item.getName()); String idForm= item.getFieldName(); } else { logger.warning("Got an uploaded file: " + item.getFieldName() + ", name = " + item.getName()+ " content="+item.getContentType() + " header="+item.getHeaders()); resp.setCharacterEncoding("utf8"); resp.setContentType("application/json"); PrintWriter out = resp.getWriter(); out.print(finalJson);
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.print("Request content length is " + request.getContentLength() + "<br/>"); out.print("Request content type is " + request.getHeader("Content-Type") + "<br/>"); boolean isMultipart = ServletFileUpload.isMultipartContent(request); if(isMultipart){ ServletFileUpload upload = new ServletFileUpload(); try{ FileItemIterator iter = upload.getItemIterator(request); FileItemStream item = null; String name = ""; InputStream stream = null; while (iter.hasNext()){ item = iter.next(); name = item.getFieldName(); stream = item.openStream(); if(item.isFormField()){out.write("Form field " + name + ": " + Streams.asString(stream) + "<br/>");} else { name = item.getName(); if(name != null && !"".equals(name)){ String fileName = new File(item.getName()).getName(); out.write("Client file: " + item.getName() + " <br/>with file name " + fileName + " was uploaded.<br/>"); File file = new File(getServletContext().getRealPath("/" + fileName));
private void processRequestParametersAndFiles(HttpServletRequest request, Map<String, String> parameters, Map<String, FileUpload> files) throws InputTurnFactoryException { if (ServletFileUpload.isMultipartContent(request)) { ServletFileUpload servletFileUpload = new ServletFileUpload(); try { FileItemIterator itemIterator = servletFileUpload.getItemIterator(request); while (itemIterator.hasNext()) { FileItemStream fileItemStream = itemIterator.next(); String parameterName = fileItemStream.getFieldName(); try { InputStream stream = fileItemStream.openStream(); bytes = IOUtils.toByteArray(stream); } catch (IOException exception) { if (!fileItemStream.isFormField()) { FileUpload fileUpload = new FileUpload(fileItemStream.getName(), fileItemStream.getContentType(), bytes, getHeaders(fileItemStream)); Enumeration<String> parameterNames = request.getParameterNames(); while (parameterNames.hasMoreElements()) { String parameterName = parameterNames.nextElement(); parameters.put(parameterName, request.getParameter(parameterName));