Several times I have had SharePoint environments where there was a need for large file storage (I mean large files, 100MB+). SharePoint can accommodate, but you need to change a few settings in different parts of the overall system, or you'll run into errors and timeouts. This is especially true when the file size is over 50MB. Below are some steps to take in order to configure your environment.
- Update file size in central admin
- Navigate to Maximum Upload Size in SharePoint’s Central Admin, located at: Central Administration > Application Management > Web Application General Settings. The maximum you can set is 2047 megabytes.
- Increase Time-out settings in IIS 7.0
- In IIS, right-click on your site and navigate to Advanced settings
- Expand Connection Limits, and enter an increased time-out setting.
This is not a requirement, but something that I usually do if SharePoint is going to be getting some hefty files. You don't want to go crazy here with the number. The default is 120, and it has a purpose. Increasing the time-out too much can be a risk. Typically I'll bump it to 180, and something I'll monitor and adjust appropriately if needed.
- Update SharePoint web.config
- The next thing we need to do is increase the execution timeout of the upload page that SharePoint uses (upload.aspx). The executionTimeout attribute we are adding is an optional attribute, but necessary to prevent timeouts on the page. It requires an int32 value, which will specify the amount of seconds that a request can execute before it’s shutdown by ASP.NET (the underlying framework of SharePoint pages). Although this attribute is optional, default timeout for ASP.NET 2.0 is 110 seconds, so any uploads that are taking longer than that will result in the request being shutdown – thus we are going to add the attribute and increase it at the sametime.
- To add the value; Navigate your file browser to the SharePointRoot (hive) directory, typically: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS
- Open Web.config with a text editor (like Notepad), and add in the executionTimeout="999999" parameter and value to the upload.aspx setting.
- Update SharePoint Web Application web.config
- Next, we need to also add the executionTimeout setting to the web.config for our SharePoint Web Application specifically. By default it will be located here: Inetpub\wwwroot\wss\VirtualDirectories\[YourSiteVirtualDirectoryFolder]
- Locate the web.config, and add the executionTimeout="999999" parameter and value to the httpRuntime setting
You ‘should’ be all good to go now to support large file uploads to SharePoint. There is however one more configuration if you are running on Windows Server 2008 with IIS7. Any files over 28MB will still result in an error, and the resolution is in this blog post: Uploading Large Files to SharePoint on Windows Server 2008 and IIS7 [UPDATED LINK]