Document attachments and CMS.File documents can be physically stored in the file system, in the database, or in both. You can define this in the Settings application in the System -> Files category using the Store files in file system and Store files in database options.
The following three combinations can be achieved using the settings:
- File system - the files are stored in the configured folder on your disk. This option provides the best performance. However, the Modify permissions on the disk must be granted to the ASP.NET account on your machine, which is not always possible. The process of granting the Modify permission is described in Disk permissions problems.
- Database - the files are stored in the database. This option provides worse performance, but doesn't require the Modify permission for the file system and allows you to easily backup the uploaded files as part of your database.
- Both - Database and file system - this option combines the advantages of both options. It provides the same performance as the file system-only option since the files are stored in the file system. At the same time, you can use the full-text search because the database is also available.
Document attachments and metafiles location
Document attachments are stored in the file system under ~/<site code name>/files, metafiles are stored under ~/<site code name>/metafiles. Both these folders can be located in different locations, which can be configured using the Settings -> System -> Files -> Files folder settings option. Learn more in Settings - Files.
Note: When you change the location of the file folder, the system does NOT automatically move any existing files to the new location. To ensure that the system can access the files, you need to manually move them from the old location to the new one in the file system.
Form files location
Files uploaded by website users into forms are always stored in the file system. The default location is ~/<site code name>/BizFormFiles. You can customize the location in Settings -> System -> Files -> Custom form files folder.
Files may be submitted as part of form records, typically when a form contains an uploader type field (specifically the Upload file field type/form control). You can adjust the following settings related to files submitted through forms and their storage in the file system:
|Custom form files folder|
Folder where files uploaded via forms are stored. You can use:
If no value is entered, the files are stored in the ~/<site code name>/BizFormFiles/ folder.
|Use site-specific subfolders for custom form files folder||This setting is only applied when a Custom form files folder is configured. If enabled, attachment files will be stored in a sub-folder named as the site code name under the custom files folder, i.e. <custom BizForm files folder>/<site code name>. It is useful for better orientation in files when multiple sites are running in the system.|
Specifies which extensions are allowed for uploaded files. You can restrict the types of uploaded files by entering a limited list of extensions separated by semicolons, for example: gif;jpg;doc;pdf
This allows you to block users from uploading potentially dangerous files, such as ASPX scripts. If no value is specified, uploading will be allowed for all file types.
Media library files location
Files stored in media libraries are always stored in the file system. The default location is ~/<site code name>/media, while the location of the folder can be customized in Settings -> Content -> Media -> Media libraries folder, as described in Configuring media libraries.