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 { get; set; } = "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.     }  
  63. } 

Comments

Popular posts from this blog

FTP(File Transfer Protocol ) configuration and testing in Windows Server 2008 R2

First of all you have to know  what the FTP is " File Transfer Protocol ( FTP ) is a standard network protocol used to transfer files from one host or to another host over a TCP -based network". FTP Installation & Configuration: Step 1: Install the Web Server role with the IIS Management Console and FTP Server role services: Step 2: Add a new FTP Site Step 3: Setup the site with the default bindings and choose Allow SSL to avoid deploying a certificate:     Step 4: Configure user permissions and basic or anonymous permission. If your server is connected to your domain you can specify domain users, otherwise they must be local user accounts: Note: Finally you’ll have to configure your server’s firewall rules to allow access.Disregard any existing FTP firewall rules; although they should be enabled, they don’t actually allow access! Run Allow a Program Through Windows Firewall and grant access to C:\Windows\System32\svchost.exe T...

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