List of usage examples for org.apache.commons.fileupload ProgressListener update
void update(long pBytesRead, long pContentLength, int pItems);
From source file:com.vmware.appfactory.datastore.DsDatastoreCifs.java
@Override public void copy(MultipartFile source, String destination, ProgressListener pl) throws IOException { /* Create destination file */ File destFile = new File(destination); /* Open input and output, for copying */ InputStream is = source.getInputStream(); OutputStream os = new FileOutputStream(destFile); try {/*from www.j av a 2 s .co m*/ /* We could use IOUtils.copy(), but this approach gives us progress: */ long total = source.getSize(); long soFar = 0; /* Transfer using a buffer */ byte[] buffer = new byte[COPY_BUFFER_SIZE]; int numRead; while ((numRead = is.read(buffer, 0, COPY_BUFFER_SIZE)) != -1) { os.write(buffer, 0, numRead); soFar += numRead; if (pl != null) { pl.update(soFar, total, 1); } } os.flush(); } finally { os.close(); is.close(); } }
From source file:eu.webtoolkit.jwt.servlet.WebRequest.java
@SuppressWarnings({ "unchecked", "deprecation" }) private void parse(final ProgressListener progressUpdate) throws IOException { if (FileUploadBase.isMultipartContent(this)) { try {/*from w w w . j a v a2s .c o m*/ // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); if (progressUpdate != null) { upload.setProgressListener(new org.apache.commons.fileupload.ProgressListener() { public void update(long pBytesRead, long pContentLength, int pItems) { progressUpdate.update(WebRequest.this, pBytesRead, pContentLength); } }); } // Parse the request List items = upload.parseRequest(this); parseParameters(); Iterator itr = items.iterator(); FileItem fi; File f = null; while (itr.hasNext()) { fi = (FileItem) itr.next(); // Check if not form field so as to only handle the file inputs // else condition handles the submit button input if (!fi.isFormField()) { try { f = File.createTempFile("jwt", "jwt"); fi.write(f); fi.delete(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } List<UploadedFile> files = files_.get(fi.getFieldName()); if (files == null) { files = new ArrayList<UploadedFile>(); files_.put(fi.getFieldName(), files); } files.add(new UploadedFile(f.getAbsolutePath(), fi.getName(), fi.getContentType())); } else { String[] v = parameters_.get(fi.getFieldName()); if (v == null) v = new String[1]; else { String[] newv = new String[v.length + 1]; for (int i = 0; i < v.length; ++i) newv[i] = v[i]; v = newv; } v[v.length - 1] = fi.getString(); parameters_.put(fi.getFieldName(), v); } } } catch (FileUploadException e) { e.printStackTrace(); } } else parseParameters(); }
From source file:org.jason.mapmaker.server.util.UploadProgressInputStream.java
private void updateListeners(final long bytesRead, final long totalBytes) { for (ProgressListener listener : listeners) { listener.update(bytesRead, totalBytes, listeners.size()); }//w ww. j a va 2 s . com }