.net上传文件时获取文件的真实类型

转载 2013年12月04日 15:21:16
  1. using System;     
    using System.Collections.Generic;     
    using System.Linq;     
    using System.Web;     
    using System.Web.UI;     
    using System.Web.UI.WebControls;     
    using System.IO;     
        
    public partial class niunantest : System.Web.UI.Page     
    {     
        protected void Page_Load(object sender, EventArgs e)     
        {     
        
        }     
        protected void Button1_Click(object sender, EventArgs e)     
        {     
            string str = FileUpload1.PostedFile.ContentType;     
            Response.Write("文件类型:"+str);     
        
            string filename = "";     
        
            FileExtension[] fe = { FileExtension.GIF, FileExtension.JPG, FileExtension.PNG };     
            if (FileValidation.IsAllowedExtension(FileUpload1, fe))     
            {     
                string fileExt = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();     
                Response.Write("<br>验证通过!");     
                //filename = "/Images/" + DateTime.Now.ToString("yyyyMMddHHmmss") + fileExt;     
                //FileUpload1.PostedFile.SaveAs(Server.MapPath(filename));     
            }     
            else    
            {     
                Response.Write( "<br>验证不通过,只支持以下格式的图片:JPG,GIF,PNG");     
                return;     
            }     
        
        }     
        
        public enum FileExtension     
        {     
           
           JPG = 255216,
            GIF = 7173,
            BMP = 6677,
            PNG = 13780,
            RAR = 8297,
            jpg = 255216,
            exe = 7790,
            xml = 6063,
            html = 6033,
            aspx = 239187,
            cs = 117115,
            js = 119105,
            txt = 210187,
            sql = 255254
        
        }     
        
        public class FileValidation     
        {     
            public static bool IsAllowedExtension(FileUpload fu, FileExtension[] fileEx)     
            {     
                int fileLen = fu.PostedFile.ContentLength;     
                byte[] imgArray = new byte[fileLen];     
                fu.PostedFile.InputStream.Read(imgArray, 0, fileLen);     
                MemoryStream ms = new MemoryStream(imgArray);     
                System.IO.BinaryReader br = new System.IO.BinaryReader(ms);     
                string fileclass = "";     
                byte buffer;     
                try    
                {     
                    buffer = br.ReadByte();     
                    fileclass = buffer.ToString();     
                    buffer = br.ReadByte();     
                    fileclass += buffer.ToString();     
                }     
                catch    
                {     
                }     
                br.Close();     
                ms.Close();     
                foreach (FileExtension fe in fileEx)     
                {     
                    if (Int32.Parse(fileclass) == (int)fe)     
                        return true;     
                }     
                return false;     
            }     
        }     
    }    

上传文件检测真实类型

#region 检测上传真实类型与后缀名是否匹配,是否在允许列表中,允许则上传返回上传路径 public bool IsAllowedExtension(HttpPostedFile ...
  • windxxf
  • windxxf
  • 2012年08月17日 12:22
  • 2456

java验证文件格式工具类(获取文件真实格式)

import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; im...
  • fengqilove520
  • fengqilove520
  • 2016年11月23日 13:04
  • 2168

JAVA获取真实的文件类型

获取文件类型有些人根据文件名直接获取后缀名,其实这种做法是错误的,会造成很多错误和麻烦无法获取真实的文件类型,下面的方法是根据读取文件头信息获取真实文件类型的方法,方法备注很明确就不多说了。publi...
  • cl799667803
  • cl799667803
  • 2017年05月25日 16:31
  • 277

.net取得客户端真实IP

/// /// 取得客户端真实IP。如果有代理则取第一个非内网地址 /// public static string IPAddress ...
  • PeterZhuGe
  • PeterZhuGe
  • 2016年11月25日 11:22
  • 1575

根据文件头信息判断文件真实类型(AS3)

//根据文件头信息判断图片文件真实类型; private function getFileType(fileData : ByteArray) : String { var b0 :...
  • fzhlee
  • fzhlee
  • 2010年11月17日 13:31
  • 1570

js获取文件上传路径(解决出现fakepath的问题)

上传文件时,有时候需要获取文件路径,但是浏览器安全机制,使得路径被fakepath代替,获取不到 下面的代码解决这个问题,支持Chrome,其它浏览器没测试,用的时候注意 代码 上传...
  • littlebearGreat
  • littlebearGreat
  • 2017年08月11日 17:50
  • 2083

.net中获取客户端真实ip

 http://hi.baidu.com/finbacks/blog/item/80d4a8b12748f3540923020c.html(转)目前网上流行的所谓“取真实IP地址”的方法,都有bug,...
  • xssh913913
  • xssh913913
  • 2007年09月01日 12:09
  • 1583

上传文件时 类型限定问题

··11
  • cfsss
  • cfsss
  • 2017年12月20日 14:38
  • 69

Controller获得上传文件的绝对路径

@RequestMapping(value = "/upload", method = RequestMethod.POST) public ModelAndView onSubmit(Htt...
  • weinichendian
  • weinichendian
  • 2017年08月17日 17:01
  • 1640

java上传文件以流方式判断类型

public enum FileType { /** * JEPG. */ JPEG("FFD8FF"), ...
  • winter13292
  • winter13292
  • 2013年09月03日 15:24
  • 7217
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.net上传文件时获取文件的真实类型
举报原因:
原因补充:

(最多只允许输入30个字)