Skip to main content

Limit Upload File Type Extensions ASP.NET MVC 5

 

  1. //-----------------------------------------------------------------------  
  2. // <copyright file="AllowExtensionsAttribute.cs" company="None">  
  3. //     Copyright (c) Allow to distribute this code and utilize this code for personal or commercial purpose.  
  4. // </copyright>  
  5. // <author>Asma Khalid</author>  
  6. //-----------------------------------------------------------------------  
  7.   
  8. namespace ImgExtLimit.Helper_Code.Common  
  9. {  
  10.     using System;  
  11.     using System.Collections.Generic;  
  12.     using System.ComponentModel.DataAnnotations;  
  13.     using System.Linq;  
  14.     using System.Web;  
  15.   
  16.     /// <summary>  
  17.     /// File extensions attribute class  
  18.     /// </summary>  
  19.     [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false, Inherited = true)]  
  20.     public class AllowExtensionsAttribute : ValidationAttribute  
  21.     {  
  22.         #region Public / Protected Properties  
  23.   
  24.         /// <summary>  
  25.         /// Gets or sets extensions property.  
  26.         /// </summary>  
  27.         public string Extensions { getset; } = "png,jpg,jpeg,gif";  
  28.  
  29.         #endregion  
  30.  
  31.         #region Is valid method  
  32.   
  33.         /// <summary>  
  34.         /// Is valid method.  
  35.         /// </summary>  
  36.         /// <param name="value">Value parameter</param>  
  37.         /// <returns>Returns - true is specify extension matches.</returns>  
  38.         public override bool IsValid(object value)  
  39.         {  
  40.             // Initialization  
  41.             HttpPostedFileBase file = value as HttpPostedFileBase;  
  42.             bool isValid = true;  
  43.   
  44.             // Settings.  
  45.             List<string> allowedExtensions = this.Extensions.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();  
  46.   
  47.             // Verification.  
  48.             if (file != null)  
  49.             {  
  50.                 // Initialization.  
  51.                 var fileName = file.FileName;  
  52.   
  53.                 // Settings.  
  54.                 isValid = allowedExtensions.Any(y => fileName.EndsWith(y));  
  55.             }  
  56.   
  57.             // Info  
  58.             return isValid;  
  59.         }  
  60.  
  61.         #endregion  
  62.     }  

Comments

Popular posts from this blog

update your package-lock.json according to what you have specified in the package.json file

  The objective of the   npm update   command is to update your   package-lock.json   according to what you have specified in the   package.json   file. This is the normal behavior. If you want to update your package.json file, you can use  npm-check-updates :  npm install -g npm-check-updates . You can then use these commands: ncu  Checks for updates from the package.json file ncu -u  Update the package.json file npm update --save  Update your package-lock.json file from the package.json file

Referenced assembly does not have a strong name

  Steps to create strong named assembly Step 1 : Run visual studio command prompt and go to directory where your DLL located.   For Example my DLL located in  D:/hiren/Test.dll Step 2 : Now create  il file using below command.    D:/hiren> ildasm /all /out=Test.il Test.dll   (this command generate code library) Step 3 : Generate new Key for sign your project.    D:/hiren> sn -k mykey.snk Step 4 : Now sign your library using ilasm command.    D:/hiren> ilasm /dll /key=mykey.snk Test.il so after this step your assembly contains strong name and signed. Jjust add reference this new assembly in your project and compile project its running now. codeproject.com/Tips/341645/Referenced-assembly-does-not-have-a-strong-name