zoukankan      html  css  js  c++  java
  • ASP.NET FileUpload 上传文件类型验证

    验证的核心方法:

    public static bool IsAllowedExtension(FileUpload hifile)
            {
                //原方法是这样的,会提示找不到文件
                //System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                //System.IO.BinaryReader r = new System.IO.BinaryReader(fs); 
                var buf = new byte[hifile.PostedFile.InputStream.Length];
                hifile.PostedFile.InputStream.Read(buf, 0, (int)hifile.PostedFile.InputStream.Length);
                Stream strem = new MemoryStream(buf);
                System.IO.BinaryReader r = new System.IO.BinaryReader(strem);
                string fileclass = "";
                //这里的位长要具体判断. 
                byte buffer;
                try
                {
                    buffer = r.ReadByte();
                    fileclass = buffer.ToString();
                    buffer = r.ReadByte();
                    fileclass += buffer.ToString();
                }
                catch
                {
                }
                r.Close();
                if (fileclass == "255216" || fileclass == "7173")//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar 
                {
                    return true;
                }
                else
                {
                    return false;
                }
            } 

    编码的数值:

    JPG = 255216,
            GIF = 7173,
            BMP = 6677,
            PNG = 13780,
            SWF = 6787,
            RAR = 8297,
            ZIP = 8075,
            _7Z = 55122,
            TXT = 102100,
            PDF = 3780,
            DOC = 208207,
            XLSX = 8075,
            XLS = 208207,
            CHM = 7384
            XML = 6063,
            HTML = 6033,
            ASPX = 239187,
            CS = 117115,
            JS = 119105,
            SQL = 255254,

    当然,如果不知道可以自己导入文件进行实验,得到对应的数字。

    前端可以通过asp.net 自带的RegularExpressionValidator控件进行验证

    <div style="margin-top:15px;">选择文件:&nbsp;&nbsp;<asp:FileUpload ID="fileUpload" runat="server" />
        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="fileUpload" ErrorMessage="file type incorrect" ValidationExpression="^.*?.(xls|xlsx)$"></asp:RegularExpressionValidator>
        </div>

    参考:
    http://developer.51cto.com/art/201305/396627.htm
    http://bbs.csdn.net/topics/210082978

  • 相关阅读:
    2.12 使用@DataProvider
    2.11 webdriver中使用 FileUtils ()
    Xcode8 添加PCH文件
    The app icon set "AppIcon" has an unassigned child告警
    Launch Image
    iOS App图标和启动画面尺寸
    iPhone屏幕尺寸、分辨率及适配
    Xcode下载失败 使用已购项目页面再试一次
    could not find developer disk image
    NSDate与 NSString 、long long类型的相互转化
  • 原文地址:https://www.cnblogs.com/tylertang/p/6433277.html
Copyright © 2011-2022 走看看