Web.config中配置上传文件大小与判断上传文件的类型等一系列规则的方法

web.config中:
    <!-- 设置文件上传时的系统参数-->
   
  <httpRuntime maxRequestLength="10240"
    useFullyQualifiedRedirectUrl="true"
    executionTimeout="6000"
   minFreeThreads="8"
   minLocalRequestFreeThreads="4"
   appRequestQueueLimit="100"
    />

返回错误信息的方法:
此方法为初始调用的方法为了判断错误返回错误信息
        //执行上传操作
        /** <summary>
        /// 执行上传操作
        /// getFileName 需要指定来自方法:getUpFileName返回的文件名
        /// FileType    "Image" 或 "Media" 或 "Flash"
        /// ThisMatch   指定你当前程序所在的目录,哪是不断空一定要在最后加"/",例如"../"
        /// a.asf   ->    200609090909.asf
        /// </summary>
        public string UpfilesInstance(System.Web.UI.HtmlControls.HtmlInputFile UpFileControl,string getFileName,string FileType,string ThisMatch)
        {
            string upfilepath  = string.Empty ;
            string Errorstr = string.Empty ;

            getFileName = getFileName.Substring(getFileName.LastIndexOf("\\")+1);

                   
            switch(CheckFnameEx(getFileName,FileType,UpFileControl.PostedFile.ContentLength/1024 ))
            {
                case "1":
                switch(FileType)
                {   
                    case "Media":
                        Errorstr = "上传的文件格式不正确,只能是WMV、WMA、MP3";
                        break;
                    case "Image":
                        Errorstr ="上传的文件格式不正确,只能是JPG、GIF、JPEG";
                        break;
                    case "Flash":
                        Errorstr ="上传的文件格式不正确,只能是WMV、SWF";
                        break;
                }
                    break;
                case "2":
                switch(FileType)
                {   
                    case "Image":
                        Errorstr = "上传的文件不成功";
                        break;
                    case "Media":
                        Errorstr ="上传的文件太大不能超过10M";
                        break;
                    case "Flash":
                        Errorstr ="上传的文件不成功";
                        break;
                }
                    break;
                case "3":
                    Errorstr ="上传的文件不成功";
                    break;
                case "0":
                    Errorstr = null;
                    break;
            }
           
            //上传文件
            if(Errorstr==null)
            {
                try
                {
                    switch(FileType)
                    {   
                        case "Image":
                            upfilepath = ThisMatch +System.Configuration.ConfigurationSettings.AppSettings["upPhotoPath"].ToString();
                            break;
                        case "Media":
                            upfilepath = ThisMatch +System.Configuration.ConfigurationSettings.AppSettings["upPrdctionPath"].ToString();
                            break;
                        case "Flash":
                            upfilepath = ThisMatch +System.Configuration.ConfigurationSettings.AppSettings["upPhotoPath"].ToString();
                            break;
                    }
                   
                    UpFileControl.PostedFile.SaveAs(Server.MapPath(upfilepath) + getFileName);
                    Errorstr = "1";//OK
                }
                catch
                {
                    Errorstr ="上传的文件出错";
                }
            }

            return Errorstr;
        }

 

验证上传的文件:
<add key="maxRequestLength" value="10240" /> 10M
filelength上传的文件长度(是字节)应该 /1024 在与配置文件设置值比较.

验证上传的文件
        /** <summary>
        /// 注册用户登录验证,fname为校验文件名,filetype为"Image" 或者 "Media"
        /// return 0-验证通过,1-文件格式不对,2-文件过大,3-未知错误
        /// </summary>
        public string CheckFnameEx(string fname,string filetype,int filelength)
        {
            if(fname=="" && filetype=="")
            {
                return "3";
            }
            //得到文件的后缀名
            string exName=fname.Substring(fname.LastIndexOf(".")+1).ToUpper();
            if(exName =="")
            {
                return "3";
            }
            string checkfilelen =string.Empty ;
            switch(filetype)
            {
                case "Image":
                    if(exName!="JPG" && exName!="GIF" && exName!="JPEG")
                    {
                        return "1";
                    }
                    break;
                case "Media":
                    checkfilelen = System.Configuration.ConfigurationSettings.AppSettings["maxRequestLength"].ToString();
                    if(exName!="WMA" && exName!="WMV" && exName!="MP3")
                    {
                        return "1";
                    }
                    else
                    {
                        if(filelength > int.Parse(checkfilelen))//判断文件是否大于10M
                        {
                            return "2";
                        }
                    }
                    break;
                case "Flash":
                    if(exName!="SWF" && exName!="WMV")
                    {
                        return "1";
                    }
                    break;
            }
            return "0";
        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值