Skip to content

Instantly share code, notes, and snippets.

Created November 3, 2012 22:08
Show Gist options
  • Save anonymous/4009042 to your computer and use it in GitHub Desktop.
Save anonymous/4009042 to your computer and use it in GitHub Desktop.
Vraptor UploadedFile - getSize()
public interface UploadedFile {
...
long getSize();
}
public class DefaultUploadedFile implements UploadedFile {
public DefaultUploadedFile(..., long size) {
...
this.size = size;
}
...
public long getSize() {
return size;
}
}
public class Servlet3MultipartInterceptor implements MultipartInterceptor {
...
public void intercept(InterceptorStack stack, ResourceMethod method, Object resourceInstance){
...
for (Part part : request.getParts()) {
String name = part.getName();
name = fixIndexedParameters(name);
if (isField(part)) {
logger.debug("{} is a field", name);
params.put(name, getStringValue(part));
} else {
logger.debug("{} is a file", name);
String fileName = getFileName(part);
UploadedFile upload = new DefaultUploadedFile(part.getInputStream(), fileName, part.getContentType(), part.getSize());
parameters.setParameter(name, name);
request.setAttribute(name, upload);
}
}
...
}
}
public class CommonsUploadMultipartInterceptor implements MultipartInterceptor {
...
protected void processFile(FileItem item, String name) {
try {
UploadedFile upload = new DefaultUploadedFile(item.getInputStream(), item.getName(), item.getContentType(), item.getSize());
parameters.setParameter(name, name);
request.setAttribute(name, upload);
logger.debug("Uploaded file: {} with {}", name, upload);
} catch (IOException e) {
throw new InvalidParameterException("Cant parse uploaded file " + item.getName(), e);
}
...
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment