Пример #1
0
        /// <summary>
        /// 文件上传(上传文件按月生成文件夹)
        /// </summary>
        /// <param name="hifile">上传控件</param>
        /// <param name="strAbsolutePath">相对路径(不包含文件名)</param>
        /// <param name="TYPE">文件类型(在WebConfig中配置)</param>
        /// <param name="FileSize">文件大小单位:Mb(在WebConfig中配置)</param>
        /// <returns></returns>
        public bool SaveFileMonth(HtmlInputFile hifile, string strAbsolutePath, string TYPE, string FileSize, out string errorinfo)
        {
            bool filetype = false;
            string /*文件的完整路径*/ strOldFilePath = "", /*文件类型*/ strExtension = "", /*新文件名称*/ strNewFileName = "";

            //如果上传文件的文件名不为空
            if (hifile.PostedFile.FileName != string.Empty)
            {
                strOldFilePath = hifile.PostedFile.FileName;//文件的完整路径
                //取得上传文件的扩展名
                strExtension    = FileObj.GetPostfixStr1(strOldFilePath);
                file_type       = strExtension;
                strAbsolutePath = HttpContext.Current.Server.MapPath(strAbsolutePath);            //把相对路径转换成绝对路径
                //文件大小单位Mb
                double sizes = hifile.PostedFile.ContentLength / (double)1024.0 / (double)1024.0; //文件大小
                this.file_size = sizes.ToString("f4");                                            //文件大小单位Mb精确到小数点后4位
                //文件格式
                if (type(strExtension.Trim().ToLower(), TYPE.Trim().ToLower()))
                {
                    filetype = true;
                }
                else
                {
                    filetype = false;
                }

                if (filetype)//判断文件类型是否错误
                {
                    if (sizes < Convert.ToDouble(FileSize))
                    {
                        //文件上传后的命名
                        strNewFileName = GetUniqueString() + "." + strExtension;
                        file_name      = strNewFileName;
                        ////生成按月份为单位的文件夹
                        string datatimes = System.DateTime.Now.Year.ToString() + System.DateTime.Now.Month.ToString() + "\\"; //文件的相对路径(按月生成文件夹)
                        this.file_lj = datatimes;                                                                             //生成的文件夹路径
                        Path         = strAbsolutePath + datatimes;                                                           //文件的完整路径
                        if (!Directory.Exists(Path))
                        {
                            Directory.CreateDirectory(Path);             //按月份创建文件夹
                        }
                        hifile.PostedFile.SaveAs(Path + strNewFileName); //保存文件
                        errorinfo = "文件上传成功!"; return(true);
                    }
                    else
                    {
                        errorinfo = "文件大小不能超过" + FileSize + ".00Mb!"; return(false);
                    }
                }
                else
                {
                    errorinfo = "文件格式错误!"; return(false);
                }
            }
            else
            {
                errorinfo = "请选择要上传的文件!"; return(false);
            }
        }
Пример #2
0
        /// <summary>
        /// 文件上传(普通上传不生成文件夹)
        /// </summary>
        /// <param name="hifile">上传控件</param>
        /// <param name="strAbsolutePath">相对路径(不包含文件名称)</param>
        /// <param name="TYPE">文件类型(在WebConfig中配置)</param>
        /// <param name="FileSize">文件大小单位:Mb(在WebConfig中配置)</param>
        /// <returns></returns>
        public bool SaveFile(HttpPostedFile hifile, string strAbsolutePath, string TYPE, string FileSize, out string errorinfo)
        {
            bool filetype = false;
            string /*文件的完整路径*/ strOldFilePath = "", /*文件类型*/ strExtension = "", /*新文件名称*/ strNewFileName = "";

            //如果上传文件的文件名不为空
            if (hifile.FileName != string.Empty)
            {
                strOldFilePath  = hifile.FileName;                                     //文件的完整路径
                filename        = FileObj.GetPostfixStr2(strOldFilePath);              //原始文件名
                strAbsolutePath = HttpContext.Current.Server.MapPath(strAbsolutePath); //把相对路径转换成绝对路径
                Path            = strAbsolutePath;                                     //服务器路径
                //取得上传文件的扩展名
                strExtension = FileObj.GetPostfixStr1(strOldFilePath);
                file_type    = strExtension;
                //文件大小单位Mb
                double sizes = hifile.ContentLength / (double)1024.0 / (double)1024.0; //文件大小
                this.file_size = sizes.ToString("f4");                                 //文件大小单位Mb精确到小数点后4位
                //文件格式
                if (type(strExtension.Trim().ToLower(), TYPE.Trim().ToLower()))
                {
                    if (TYPE.IndexOf("jpg") >= 0)
                    {
                        filetype = ImageHelper.isImages(hifile.InputStream);
                    }
                    else
                    {
                        filetype = true;
                    }
                }
                else
                {
                    filetype = false;
                }

                if (filetype)//判断文件类型是否错误
                {
                    if (sizes < Convert.ToDouble(FileSize))
                    {
                        //文件上传后的命名
                        strNewFileName = GetUniqueString() + "." + strExtension;
                        file_name      = strNewFileName;
                        if (!Directory.Exists(strAbsolutePath))          //判断文件夹是否存在
                        {
                            Directory.CreateDirectory(strAbsolutePath);  //创建文件夹
                        }
                        hifile.SaveAs(strAbsolutePath + strNewFileName); //保存文件
                        errorinfo = "文件上传成功!"; return(true);
                    }
                    else
                    {
                        errorinfo = "文件大小不能超过" + FileSize + ".00Mb!"; return(false);
                    }
                }
                else
                {
                    errorinfo = "文件格式错误!"; return(false);
                }
            }
            else
            {
                errorinfo = "请选择要上传的文件!"; return(false);
            }
        }