Вы можете попробовать с прослушивателем, например (не уверен, есть ли у события метод отмены для вызова, если ваше ограничение не выполняется, но вы можете проверить):
public void listener(UploadEvent event) throws IOException {
UploadItem item = event.getUploadItem();
String name = "unnamed_attachment";
byte[] data = item.getData();
if (item.isFile()) {
name = FilenameUtils.getName(item.getFileName());
data = FileUtils.readFileToByteArray( item.getFile() );
}
debug("file uploaded '#0' : '#1'", name, item.getFileName());
И некоторые ограничения, которые вы можете поместить в компоненты.xml, например:
<web:multipart-filter create-temp-files="false"
max-request-size="5200000"
url-pattern="/*"/>