There are a number of features in mojoPortal content management system which allow for uploading files, however the maximum file size that can be uploaded depends upon configuration. In addition to the information on this page, file uploads can be limited by available disk space. Some hosting providers give you a certain amount of disk space but you must allocate it to your sites in order for it to be available. So in addition to settings mentioned on this page you may need to look around in your hosting control panel for information about available space and allocation of that space to your site(s).
Overview
When running in Full Trust (and using the Web.config file configured for full trust), mojoPortal uses NeatUpload and the file size limits are controlled by the NeatUpload section in Web.config.
Note that we ship 2 versions of Web.config, one is configured for Medium Trust and has NeatUpload disabled, the other is for Full Trust hosting and has NeatUpload enabled. The only difference between the files is whether NeatUpload is enabled. NeatUpload provides a nice progress bar during uploads but it only works in Full Trust hosting. If you see a progress bar when uploading then you are using NeatUpload if you don't then you are not.
<neatUpload xmlns="http://www.brettle.com/neatupload/config/2008"
useHttpModule="true"
maxNormalRequestLength="4096"
maxRequestLength="2097151"
multiRequestUploadHandlerUrl="~/NeatUpload/MultiRequestUploadHandler.ashx"
maxUploadRate="300"
></neatUpload>
Whereas, when running in Medium Trust NeatUpload is disabled and file upload limits are controlled by the httpRuntime settings like this:
<httpRuntime maxRequestLength="2097151" executionTimeout="3600" />
Note that executionTimeout is relevant even when you are using NeatUpload
http://msdn.microsoft.com/en-us/library/e1f13641.aspx
IIS 7
If you use IIS7 you also have to do the following (see discussion at http://forums.iis.net/p/1108662/1702390.aspx):
at an elevated (run as admin) command prompt enter:
%windir%\system32\inetsrv\appcmd set config "MySite/MyApp" -section:requestFiltering -requestLimits.maxAllowedContentLength:104857600 -commitpath:apphost
you can verify that the setting was inserted OK by doing and checking out the output:
%windir%\system32\inetsrv\appcmd list config "MySite/MyApp" -section:requestFiltering
the command is changing the maxAllowedContentLength request limit that IIS7 requestFiltering (the replacement for urlscan) has introduced
NeatUpload documentation also mentions the following alternative regarding the IIS7 issue:
(Optional) To allow larger uploads than the 30MB default used by IIS7, add the following to your Web.config under the configuration/system.webServer/security/requestFiltering section:
<requestLimits maxAllowedContentLength="size_in_bytes"></requestLimits>
Example:
<system.webServer>
<security>
<requestFiltering><requestLimits maxAllowedContentLength="262144000" /></requestFiltering>
<!-- maxAllowedContentLength is in bytes. Defaults to 30,000,000 -->
</security>
</system.webServer>
Note that for such a change to be allowed, you or your hosting provider might need to change the machine's %SystemRoot%/system32/inetserv/config/applicationHost.config file such that the overrideModeDefault attribute for the requestFiltering section is Allow instead of Deny.
Additional Resources:
http://msdn.microsoft.com/en-us/library/aa479405.aspx
http://aspnetresources.com/articles/dark_side_of_file_uploads.aspx