List of usage examples for org.apache.commons.fileupload FileUploadBase isMultipartContent
public static final boolean isMultipartContent(HttpServletRequest req)
From source file:com.yanzhenjie.andserver.upload.HttpFileUpload.java
public static final boolean isMultipartContentWithPost(HttpRequest request) { String method = request.getRequestLine().getMethod(); return "POST".equalsIgnoreCase(method) && (request instanceof HttpEntityEnclosingRequest && FileUploadBase.isMultipartContent(new HttpUploadContext((HttpEntityEnclosingRequest) request))); }
From source file:com.yanzhenjie.andserver.upload.HttpFileUpload.java
public static final boolean isMultipartContent(HttpRequest request) { return (request instanceof HttpEntityEnclosingRequest && FileUploadBase.isMultipartContent(new HttpUploadContext((HttpEntityEnclosingRequest) request))); }
From source file:com.exedio.copernica.Form.java
@SuppressWarnings("deprecation") // TODO use new way of fileupload public Form(final HttpServletRequest request) { this.request = request; if (FileUploadBase.isMultipartContent(request)) { final org.apache.commons.fileupload.DiskFileUpload upload = new org.apache.commons.fileupload.DiskFileUpload(); final int maxSize = 100 * 1024; // TODO: make this configurable upload.setSizeThreshold(maxSize); // TODO: always save to disk upload.setSizeMax(maxSize);/* w w w . ja v a 2 s .co m*/ //upload.setRepositoryPath(""); multipartContentParameters = new HashMap<String, Object>(); try { for (Iterator<?> i = upload.parseRequest(request).iterator(); i.hasNext();) { final FileItem item = (FileItem) i.next(); if (item.isFormField()) { final String name = item.getFieldName(); final String value = item.getString(); multipartContentParameters.put(name, value); } else { final String name = item.getFieldName(); multipartContentParameters.put(name, item); } } } catch (FileUploadException e) { throw new RuntimeException(e); } } else { multipartContentParameters = null; } }
From source file:info.magnolia.cms.filters.CommonsFileUploadMultipartRequestFilter.java
/** * Determine if the request has multipart content and if so parse it into a <code>MultipartForm</code> and store * it as a request attribute./*from w w w . j a va 2 s . com*/ * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, * javax.servlet.FilterChain) */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (request instanceof HttpServletRequest) { boolean isMultipartContent = FileUploadBase.isMultipartContent((HttpServletRequest) request); if (isMultipartContent) { try { parseRequest((HttpServletRequest) request); } catch (IOException e) { throw e; } catch (Exception e) { throw new ServletException(e); } } } chain.doFilter(request, response); }
From source file:ccc.plugins.multipart.apache.MultipartForm.java
/** * Parse an HTTP request, extracting the file items. * * @param context The JAXRS context to parse. * * @return A list of file items./*from w w w . j a v a 2 s. c o m*/ */ @SuppressWarnings("unchecked") private static List<FileItem> parseFileItems(final JaxrsRequestContext context) { DBC.require().notNull(context); // Check that we have a file upload request final boolean isMultipart = FileUploadBase.isMultipartContent(context); if (!isMultipart) { throw new RuntimeException("Not a multipart."); } // Create a factory for disk-based file items final DiskFileItemFactory factory = new DiskFileItemFactory(); // Set factory constraints factory.setSizeThreshold(maxInMemorySize()); // Create a new file upload handler final FileUpload upload = new FileUpload(factory); // Set overall request size constraint upload.setFileSizeMax(maxFileSize()); try { return upload.parseRequest(context); } catch (final FileSizeLimitExceededException e) { throw handleTooBig(e, e.getPermittedSize()); } catch (final SizeLimitExceededException e) { throw handleTooBig(e, e.getPermittedSize()); } catch (final FileUploadException e) { throw new RuntimeException("Failed to parse multipart request.", e); } }
From source file:net.jforum.core.support.vraptor.DefaultLogicLocator.java
@SuppressWarnings({ "deprecation", "unchecked" })
private void handleMultipartRequest(VRaptorServletRequest servletRequest) {
if (!FileUploadBase.isMultipartContent(servletRequest)) {
return;/*from ww w. java 2 s. c o m*/
}
// Create a factory for disk-based file items
DiskFileItemFactory factory = new DiskFileItemFactory(4096 * 16, this.temporaryDirectory);
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> fileItems;
// assume we know there are two files. The first file is a small
// text file, the second is unknown and is written to a file on
// the server
try {
fileItems = upload.parseRequest(servletRequest);
} catch (FileUploadException e) {
logger.warn("There was some problem parsing this multipart request, or someone is not sending a "
+ "RFC1867 compatible multipart request.", e);
return;
}
for (FileItem item : fileItems) {
if (item.isFormField()) {
servletRequest.addParameterValue(item.getFieldName(), item.getString());
} else {
if (!item.getName().trim().equals("")) {
try {
File file = File.createTempFile("vraptor.", ".upload");
item.write(file);
UploadedFileInformation fileInformation = new BasicUploadedFileInformation(file,
item.getName(), item.getContentType());
this.registeUploadedFile(servletRequest, item.getFieldName(), fileInformation);
} catch (Exception e) {
logger.error("Nasty uploaded file " + item.getName(), e);
}
} else {
logger.debug("A file field was empy: " + item.getFieldName());
}
}
}
}
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 {/* www . j a v a 2 s .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:com.enonic.cms.web.portal.services.ServicesProcessorBase.java
private ExtendedMap parseForm(HttpServletRequest request) { if (FileUploadBase.isMultipartContent(new ServletRequestContext(request))) { return parseMultiPartRequest(request); } else {//from ww w. j ava2 s.c om return parseSimpleRequest(request); } }
From source file:dk.kontentsu.api.exposure.ItemExposure.java
private static boolean isMultipartContent(final HttpServletRequest request) { return FileUploadBase.isMultipartContent(new ServletRequestContext(request)); }
From source file:org.apache.felix.webconsole.WebConsoleUtil.java
/** * An utility method, that is used to filter out simple parameter from file * parameter when multipart transfer encoding is used. * * This method processes the request and sets a request attribute * {@link AbstractWebConsolePlugin#ATTR_FILEUPLOAD}. The attribute value is a {@link Map} * where the key is a String specifying the field name and the value * is a {@link org.apache.commons.fileupload.FileItem}. * * @param request the HTTP request coming from the user * @param name the name of the parameter * @return if not multipart transfer encoding is used - the value is the * parameter value or <code>null</code> if not set. If multipart is used, * and the specified parameter is field - then the value of the parameter * is returned./* w w w .j a v a 2s. c om*/ */ public static final String getParameter(HttpServletRequest request, String name) { // just get the parameter if not a multipart/form-data POST if (!FileUploadBase.isMultipartContent(new ServletRequestContext(request))) { return request.getParameter(name); } // check, whether we already have the parameters Map params = (Map) request.getAttribute(AbstractWebConsolePlugin.ATTR_FILEUPLOAD); if (params == null) { // parameters not read yet, read now // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(256000); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(-1); // Parse the request params = new HashMap(); try { List items = upload.parseRequest(request); for (Iterator fiter = items.iterator(); fiter.hasNext();) { FileItem fi = (FileItem) fiter.next(); FileItem[] current = (FileItem[]) params.get(fi.getFieldName()); if (current == null) { current = new FileItem[] { fi }; } else { FileItem[] newCurrent = new FileItem[current.length + 1]; System.arraycopy(current, 0, newCurrent, 0, current.length); newCurrent[current.length] = fi; current = newCurrent; } params.put(fi.getFieldName(), current); } } catch (FileUploadException fue) { // TODO: log } request.setAttribute(AbstractWebConsolePlugin.ATTR_FILEUPLOAD, params); } FileItem[] param = (FileItem[]) params.get(name); if (param != null) { for (int i = 0; i < param.length; i++) { if (param[i].isFormField()) { return param[i].getString(); } } } // no valid string parameter, fail return null; }