文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>.net 操作文件上传

.net 操作文件上传

时间:2010-10-11  来源:共谱一曲

      /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="fileUpload">文件</param>
        /// <param name="path">文件上传路径</param>
        /// <returns>bool</returns>
        private static bool SaveFile(FileUpload fileUpload,string path)
        {
            //上传
            fileUpload.SaveAs(HttpContext.Current.Server.MapPath(path));
            return true;
        }

        /// <summary>
        /// 上传文件 文件类型 大小KB 路径 必须在指定范围以内
        /// </summary>
        /// <param name="fileUpload">要上传文件</param>
        /// <param name="Path">上传路径</param>
        /// <param name="FileType">数组:文件后缀名</param>
        /// <param name="length">文件大小KB</param>
        /// <returns>bool</returns>
        private static bool SaveFile(FileUpload fileUpload, string Path, string[] FileType, int length,ref string msg)
        {
            //获取文件要保存的路径   //从配置文件读取
            string FilePath = Config.ConfigHelper.GetConfigString("FilePath");
            //获取文件后缀名
            string strEx = Path.Substring(Path.LastIndexOf("."));
            //定义是否包含数组内的文件格式
            bool ft = false;
            //得到FileType数组长度
            int len = FileType.Length;
            string strType="";
            for (int i = 0; i < len; i++)
            {
                if (FileType[i].ToLower() == strEx.ToLower())
                {
                    ft = true;
                    break;
                }
                strType += FileType[i] + "或";
            
            }
          
           //如果包含文件后缀名
                if (ft)
                {

                    if (((int.Parse(fileUpload.FileContent.Length.ToString())) / 1024) < length)
                    {
                        if (Path != "")
                        {
                            string strPath = FilePath + Path;
                            SaveFile(fileUpload,strPath);
                            return true;
                        }
                        else
                        {
                            //目录为空
                            return false;
                        }
                    }
                    else
                    {
                        //大小超出范围
                        string s = "对不起,您上传文件的大小超出范围!不能超过" + length + "KB";
                                             msg = s;
                        return false;
                    }
                }
                else
                {
                    //后缀名不合格
                    strType = strType.Substring(0, strType.Length - 1);
                    string s = "对不起,您上传文件的格式不正确!标准格式应为:" + strType;
                                   msg = s;
                    return false;
                }
        }
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="fileUpload">上传文件</param>
        /// <param name="path">路径 文件夹+文件名</param>
        /// <param name="FileType">文件类型</param>
        /// <returns>string path路径</returns>
        public static string SaveFile(FileUpload fileUpload, string path, string[] FileType,ref string msg)
        {
            //if (fileUpload.HasFile)
            //{
                //获取物理路径
                string FileName = fileUpload.PostedFile.FileName;
                //获取后缀名
                string strEx = FileName.Substring(FileName.LastIndexOf("."));

 

                //获取文件大小KB  //从配置文件读取
                int FileSize = Config.ConfigHelper.GetConfigInt("FileSize");
                //获取文件要保存路径  //从配置文件读取
                string FilePath = Config.ConfigHelper.GetConfigString("FilePath");
                //
                if (path != "")
                {
                    string str=path.Substring(0,path.LastIndexOf("/"));
                    string strPath = HttpContext.Current.Server.MapPath(FilePath + str);
                    //如果源文件夹不存在则创建
                    if (!Directory.Exists(strPath))
                    {

                        Directory.CreateDirectory(strPath);

                    }
                    SaveFile(fileUpload, path, FileType, FileSize,ref msg);
                    return path;
                }
                //添加新文件   此处用作非图片文件上传执行
                else
                {
                    //获取当前年月份
                    string str = DateTime.Now.ToString("yyyyMM");
                    string strGui;
                    string strPath = HttpContext.Current.Server.MapPath(FilePath + str);
                    //如果源文件夹不存在则创建
                    if (!Directory.Exists(strPath))
                    {

                        //DirectoryInfo d = new DirectoryInfo(str);
                        Directory.CreateDirectory(strPath);

                    }
                    //重新赋文件名
                    string GuidName = Guid.NewGuid() + strEx;
                    strGui = str + "/" + GuidName;
                    SaveFile(fileUpload, strGui, FileType, FileSize,ref msg);
                    return strGui;
                }
            //}
            //else
            //{

            //    msg = "对不起,请点击浏览选择文件!";
            //    return "";
            //}
        }
        /// <summary>
        /// 上传图片
        /// </summary>
        /// <param name="FileUpload">图片文件</param>
        /// <param name="path">图片路径  路径不为空表示更新  为空表示新添加</param>
        /// <returns>string 路径</returns>
        public static string SaveImage(FileUpload FileUpload, string path,ref string msg)
        {
            if (FileUpload.HasFile)
            {
                //获取物理路径
                string FileName = FileUpload.PostedFile.FileName;
                //获取后缀名
                string strEx = FileName.Substring(FileName.LastIndexOf("."));
                bool ft= false;
                string strType = "";
                //文件的格式
                string[] FileType = { ".jpg", ".gif" };

                //循环验证是否是合法格式
                for (int i = 0; i < FileType.Length; i++)
                {
                    if (FileType[i].ToLower() == strEx.ToLower())
                    {
                        ft = true;
                        break;
                    }
                    strType += FileType[i] + "或";

                }
                //格式不正确  返回信息
                if (!ft)
                {
                    strType = strType.Substring(0, strType.Length - 1);
                    msg = "对不起,您上传文件的格式不正确!标准格式应为:" + strType;
                }
                //获取文件大小KB   //从配置文件读取
                int FileSize = Config.ConfigHelper.GetConfigInt("ImgSize");
                //获取文件要保存路径
                string FilePath = Config.ConfigHelper.GetConfigString("FilePath");
                //路径不为空表示更新   文件名不变  覆盖原文件
                if (path != "")
                {
                    SaveFile(FileUpload, path, FileType, FileSize, ref msg);
                    return path;
                }
                //添加新文件
                else
                {
                    //获取当前年月份
                    string str = DateTime.Now.ToString("yyyyMM");
                    string strGui;
                    string strPath = HttpContext.Current.Server.MapPath(FilePath + str);
                    //如果源文件夹不存在则创建
                    if (!Directory.Exists(strPath))
                    {

                        //DirectoryInfo d = new DirectoryInfo(str);
                        Directory.CreateDirectory(strPath);

                    }
                    //重新赋文件名
                    string GuidName = Guid.NewGuid() + strEx;
                    strGui = str + "/" + GuidName;
                    SaveFile(FileUpload, strGui, FileType, FileSize, ref msg);
                    return strGui;
                }
            }
            else
            {
                msg = "对不起,请点击浏览选择文件!";
                return "";
            }
        }

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载