• 根据文件名判断文件扩展名 和 根据流真正判断文件类型的关键函数


    /// <summary>
       /// 根据文件名判断文件扩展名 和 根据流真正判断文件类型的关键函数
       /// </summary>
       /// <param name="thefile">上传的文件</param>
       /// <returns>true - 允许上传的文件类型 false-不允许</returns>
       public static bool CheckUploadImgExtension(System.Web.HttpPostedFile thefile)
       {
        //取得文件的扩展名,并转换成小写
        string fileExtension = System.IO.Path.GetExtension( thefile.FileName).ToLower();

        //限定只能上传jpg和gif图片
        string[] allowExtension = { ".jpg", ".gif", ".bmp" };

        bool fileOk = false;
        //对上传的文件的类型进行一个个匹对
        for (int i = 0; i < allowExtension.Length; i++)
        {
         if (fileExtension == allowExtension[i])
         {
          fileOk = true;

          System.IO.BinaryReader reader = new System.IO.BinaryReader( thefile.InputStream );
          string fileclass = "";
          byte buffer;
          try
          {
           buffer = reader.ReadByte();
           fileclass = buffer.ToString();
           buffer = reader.ReadByte();
           fileclass += buffer.ToString();
          }
          catch
          {
           fileOk = false;
          }
          reader.Close();

          //说明 255216 是jpg; 7173 是gif; 6677 是BMP, 13780是PNG; 7790 是exe, 8297 是rar
          if (fileclass == "255216" || fileclass == "7173" || fileclass == "6677")
          {
           fileOk = true;
          }
          else
          {
           fileOk = false;
          }

          break;
         }
        }

        return fileOk;
       }

  • 相关阅读:
    【Oracle】导入导出操作
    高德交通态势地址
    UML类图Java
    【SQL】数据库模糊查询
    【数据库】Java中数据库连接池原理机制的详细讲解
    随笔-使用时间管理有感
    【structs2】>>> FilterDispatcher <<< is deprecated!
    【算法】排序算法之插入排序
    【CSS】命名规范
    【JQuery】15个值得开发人员关注的jQuery开发技巧和心得
  • 原文地址:https://www.cnblogs.com/appleseed/p/1247828.html
Copyright © 2020-2023  润新知