You can define a max size in Struts.xml (multipart.maxSize , as you said) to limit the overall transfer for each multipart request;
You can also define a file Size for the FileUpload Interceptor (default 2MB), both globally to a package, and for a single Action (by configuring that parameter for that Interceptor in the
<action>
tag in struts.xml, or by Annotating it inside the Action when using the Convention plugin:<interceptor-ref name="fileUpload"> <param name="maximumSize">10485760</param> </interceptor-ref>
This means that if, for example, you configure an overall multipart size of 20 MB, a maximumSize-per-file of 4MB, you will be able to perform a multiple upload of 5 files of 4MB in a single request;
More info here: https://stackoverflow.com/a/15968166/1654265
That said, your problem is a non-problem;
using Convention plugin does not mean you don't have a struts.xml; it means that
- you can use Annotations in Actions
- you may avoid using a struts.xml;
- when some struts configuration not action-related, like multipart.maxSize, global mappings (results, exceptions, custom interceptor stack, etc) is needed, you absolutely can use struts.xml (create it, if it wasn't present until that moment).
Nowhere in the Convention Plugin Documentation, is mentioned that it is mutually exclusive to the struts.xml (instead, if you try to search on that page "struts.xml", you will find several occurrences)