Allowed File Extensions
- 4 minutes to read
ASPxUploadControl allows you to specify the extensions of files that users can upload to the server.
Related API
Member | Description |
---|---|
UploadControlValidationSettings.AllowedFileExtensions | Specifies the allowed file extensions (server side). |
ASPxClientUploadControlValidationSettings.allowedFileExtensions | Returns the allowed file extensions (client side). |
UploadControlValidationSettings.NotAllowedFileExtensionErrorText | Specifies the error text indicating that the specified file’s extension is not allowed. |
UploadedFile.IsValid | Specifies whether the uploaded file passes validation. |
ASPxClientUploadControl.ValidationErrorOccurred | Enables you to specify whether the selected file or files are valid and display error text. |
ASPxUploadControl.FileUploadComplete | Occurs when the file has been uploaded. |
ASPxClientUploadControl.FileUploadComplete | Occurs on the client after the file has been uploaded. |
ASPxUploadControl.FilesUploadComplete | Occurs after all selected files have been uploaded to the server. |
ASPxClientUploadControl.FilesUploadComplete | Occurs on the client after all selected files have been uploaded. |
The following code snippets illustrate how to define the UploadControlValidationSettings.AllowedFileExtensions property declaratively or programmatically:
Declarative technique:
<dxuc:ASPxUploadControl ... <ValidationSettings AllowedFileExtensions=".jpg, .jpeg, .tif, .bmp, .txt, .doc, .docx, .xls, .xlsx, .pdf, .rtf, .xlsx" ... </ValidationSettings> </dxuc:ASPxUploadControl>
Programmatic technique:
Note
Users can upload any files if the UploadControlValidationSettings.AllowedFileExtensions property is not specified (or not set to an empty string).
If the uploaded file’s extension is not allowed (not listed in the UploadControlValidationSettings.AllowedFileExtensions property), the ASPxUploadControl‘s validation fails and the control displays the UploadControlValidationSettings.NotAllowedFileExtensionErrorText property’s value within an error frame or alert box when the upload control operates in Standard or Advanced upload modes, respectively.
Note
In Standard mode, the upload control validation is performed only on the server side. In Advanced mode, the upload control validates the uploaded file(s) on the client side before the file is uploaded.
The FileUploadCompleteEventArgs.IsValid, ASPxUploadControl.IsValid and ASPxClientUploadControlFileUploadCompleteEventArgs.isValid properties are set to false
if the ASPxUploadControl‘s validation fails.
You can use the following events to implement custom validation logic:
- ASPxUploadControl.FileUploadComplete
- ASPxClientUploadControl.FileUploadComplete
- ASPxUploadControl.FilesUploadComplete
- ASPxClientUploadControl.FilesUploadComplete
The FileUploadCompleteEventArgs.IsValid and ASPxClientUploadControlFileUploadCompleteEventArgs.isValid properties specify whether the uploaded file passes the validation criteria. The FileUploadCompleteEventArgs.ErrorText and ASPxClientUploadControlFileUploadCompleteEventArgs.errorText properties allow you to set the custom error text displayed if the upload control’s validation fails.
Note that the UploadControlValidationSettings.AllowedFileExtensions property is used only for validating the uploaded file’s extension. The UploadControlValidationSettings.AllowedFileExtensions property does not allow you to customize the appearance of the File Extension filter in the Open File dialog window. The browser determines and controls the list of file extensions in the File Extension filter.
Examples
The following example uses the ASPxClientUploadControl.ValidationErrorOccurred event to show how to customize an error message for files that failed validation.
<dx:ASPxUploadControl ID="ASPxUploadControl2" runat="server" Width="320" NullText="Select multiple files..." UploadMode="Advanced" ShowUploadButton="True"> <AdvancedModeSettings EnableMultiSelect="True" EnableFileList="True" /> <ValidationSettings MaxFileSize="4194304" AllowedFileExtensions=".jpg,.jpeg" MaxFileCount="2" /> <ClientSideEvents ValidationErrorOccurred="onUploadControlValidationErrorOccured" /> </dx:ASPxUploadControl> <br /> <dx:ASPxPopupControl ID="PopupControl" runat="server" ClientInstanceName="popupControl" Modal="true" HeaderText="Validation error" PopupHorizontalAlign="WindowCenter" PopupVerticalAlign="WindowCenter" ShowCloseButton="true" CloseAction="CloseButton" ShowFooter="true"> <FooterTemplate> <dx:ASPxButton ID="ASPxButton1" runat="server" Text="OK" AutoPostBack="False" Width="90" CssClass="popup-okButton" ClientSideEvents-Click="function(s, e) { popupControl.Hide(); }"> </dx:ASPxButton> </FooterTemplate> </dx:ASPxPopupControl>
The following example shows how to restrict the upload of a file without an extension on the client side.
function OnTextChanged() { var filesForUploading = uploadControl.GetSelectedFiles(); if (filesForUploading) { var allFilesContainExtension = true; for (var i = 0; i < filesForUploading.length; i++) { var currentFileName = filesForUploading[i].name; if (currentFileName == currentFileName.split('.').pop()) { allFilesContainExtension = false; break; } } if (!allFilesContainExtension) { alert("Only files with extensions can be uploaded"); uploadControl.ClearText(); } } }