/// <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); } }
/// <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); } }