• 文件上传处理


    .ashx:

     string _delfile = DTRequest.GetString("DelFilePath");
                HttpPostedFile _upfile = context.Request.Files["Filedata"];
                bool _iswater = false; //默认不打水印
                bool _isthumbnail = false; //默认不生成缩略图

                if (DTRequest.GetQueryString("IsWater") == "1")
                    _iswater = true;
                if (DTRequest.GetQueryString("IsThumbnail") == "1")
                    _isthumbnail = true;
                if (_upfile == null)
                {
                    context.Response.Write("{"status": 0, "msg": "请选择要上传文件!"}");
                    return;
                }
                UpLoad upFiles = new UpLoad();
                string msg = upFiles.fileSaveAs(_upfile, _isthumbnail, _iswater);
                //删除已存在的旧文件
                if (!string.IsNullOrEmpty(_delfile))
                {
                    Utils.DeleteUpFile(_delfile);
                }
                //返回成功信息
                context.Response.Write(msg);
                context.Response.End();

    public class DTRequest
    {
        public static string GetQueryString(string strname)
        {
            return DTRequest .GetQueryString( strname, false);
        }
        public static string GetQueryString(string strname,bool sqlSafeCheck)
    {
        string resutl;
        if (HttpContext.Current.Request.QueryString[strname] == null)
        {
            resutl = "";
        }
        else
        {
            if (sqlSafeCheck && !IsSafeSqlString(HttpContext.Current.Request.QueryString[strname]))
            {
                resutl = "unsafe string";
            }
            else
            {
                resutl =HttpContext.Current.Request.QueryString[strname ];
            }
        }
        return resutl;
        }
        public static bool IsSafeSqlString(string str)
        {
            return !Regex.IsMatch(str, "[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
        
        }
     
    }
    public class Regex : ISerializable
    {
        protected internal RegexOptions roptions;
        private Regex(string pattern,RegexOptions options,bool useCache)
        {
            //......
        }
     

          public static bool IsMatch( string input,string pattern)
        {
            return new Regex(pattern, RegexOptions.None, true).IsMatch(input);
        }
          public bool IsMatch(string input)
          {
              if (input == null)
              {
                  throw new ArgumentNullException("input");
              }
              return null == this.Run(true, -1,input, 0, input.Length, this.UseOptionR() ? input.Length : 0);
          
          }
          protected bool UseOptionR()
          {
              return (this.roptions & RegexOptions.RightToLeft) != RegexOptions.None;
    //          &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
    //&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,
              //所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长
    //&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。
                    }
          internal Match Run(bool quick, int prevlen, string input, int beginning, int length, int startat)
          {
              if (startat < 0 || startat > input.Length)
              {
                //throw new ArgumentOutOfRangeException("start",SR.GetString("BeginIndexNotNegative");
              }
            
              return ;
          
          }

  • 相关阅读:
    读后感
    每日总结
    融e学 一个专注于重构知识,培养复合型人才的平台【获取考试答案_破解】
    营销经验总结:如何才能提升h5游戏代入感?
    在通过《令人心动的offer》中,掌握学到的公司选择企业邮箱3大技巧!
    2020年的最后一个月来了!TOM 企业邮箱陪伴您度过!
    用户主动分享h5游戏的4大理由
    企业邮箱的作用是什么?企业邮箱有什么用处?
    电子邮箱系统哪家好?邮箱登陆入口是?
    专业外贸企业邮箱,企业邮箱退信怎么办?
  • 原文地址:https://www.cnblogs.com/zhubenxi/p/5329847.html
Copyright © 2020-2023  润新知