麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

ASP.NET 文件上傳類 簡單好用

2019-11-17 02:07:40
字體:
供稿:網(wǎng)友

asp.net 文件上傳類 簡單好用

調(diào)用:

            UploadFile uf = new UploadFile();            /*可選參數(shù)*/            uf.SetIsUSEOldFileName(true);//是否使用原始文件名作為新文件的文件名(默認(rèn):true),true原始文件名,false系統(tǒng)生成新文件名            uf.SetFileDirectory(Server.MapPath("/file/temp3/"));//文件保存路徑(默認(rèn):/upload)            uf.SetFileType("*");//允許上傳的文件類型, 逗號分割,必須全部小寫! *表示所有 (默認(rèn)值: .pdf,.xls,.xlsx,.doc,.docx,.txt,.png,.jpg,.gif )              uf.SetIsRenameSameFile(false);//重命名同名文件?             //文件以時間分目錄保存            var message = uf.Save(Request.Files["Fileupload1"]); //  “/file/temp3/2015/4/xx.jpg”            //文件以編號分目錄保存            var message2 = uf.Save(Request.Files["Fileupload1"], "001" /*編號*/);  //   “/file/temp3/001/xx.jpg”            //返回信息            var isError = message.Error;//判段是否上傳成功            var webPath = message.WebFilePath;//返回web路徑            var msg = message.Message;//返回上傳信息            var filePath = message.FilePath;//反回文件路徑            var isSuccess = message.Error == false;

  

代碼:

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Security.Cryptography;using System.Text.RegularExPRessions;using System.Web;using System.Web.Hosting;namespace SyntacticSugar{    /// <summary>    /// ** 描述:單文件上傳類 (暫時不支持多文件上傳)    /// ** 創(chuàng)始時間:2015-5-27    /// ** 修改時間:-    /// ** 作者:sunkaixuan    /// </summary>    public class UploadFile    {        private ParamsModel Params;        public UploadFile()        {            Params = new ParamsModel()            {                FileDirectory = "/upload",                FileType = ".pdf,.xls,.xlsx,.doc,.docx,.txt,.png,.jpg,.gif",                MaxSizeM = 10,                PathSaveType = PathSaveType.dateTimeNow,                IsRenameSameFile=true            };        }        /// <summary>        /// 文件保存路徑(默認(rèn):/upload)        /// </summary>        public void SetFileDirectory(string fileDirectory)        {            if (fileDirectory == null)            {                throw new ArgumentNullException("fileDirectory");            }            var isMapPath = Regex.IsMatch(fileDirectory, @"[a-z]/://", RegexOptions.IgnoreCase);            if (isMapPath)            {                fileDirectory = GetRelativePath(fileDirectory);            }            Params.FileDirectory = fileDirectory;        }           /// <summary>        /// 是否使用原始文件名作為新文件的文件名(默認(rèn):true)        /// </summary>        /// <param name="isUseOldFileName">true原始文件名,false系統(tǒng)生成新文件名</param>        public void SetIsUseOldFileName(bool isUseOldFileName)        {            Params.IsUseOldFileName = isUseOldFileName;        }        /// <summary>        /// 允許上傳的文件類型, 逗號分割,必須全部小寫! *表示所有 (默認(rèn)值: .pdf,.xls,.xlsx,.doc,.docx,.txt,.png,.jpg,.gif )          /// </summary>        public void SetFileType(string fileType)        {            Params.FileType = fileType;        }        /// <summary>        /// 允許上傳多少大小(單位:M)        /// </summary>        public void SetMaxSizeM(double maxSizeM)        {            Params.MaxSizeM = maxSizeM;        }        /// <summary>        /// 重命名同名文件?         /// </summary>        /// <param name="isRenameSameFile">true:重命名,false覆蓋</param>        public void SetIsRenameSameFile(bool isRenameSameFile)        {            Params.IsRenameSameFile = isRenameSameFile;        }        /// <summary>        /// 保存表單文件        /// </summary>        /// <param name="postFile">HttpPostedFile</param>        /// <returns></returns>        public ResponseMessage Save(HttpPostedFile postFile)        {            return CommonSave(postFile);        }        /// <summary>        /// 保存表單文件,根據(jù)編號創(chuàng)建子文件夾        /// </summary>        /// <param name="postFile">HttpPostedFile</param>        /// <param name="number">編號</param>        /// <returns></returns>        public ResponseMessage Save(HttpPostedFile postFile, string number)        {            Params.PathSaveType = PathSaveType.code;            _Number = number;            return CommonSave(postFile);        }        /// <summary>        /// 保存表單文件,根據(jù)HttpPostedFile        /// </summary>        /// <param name="postFile">HttpPostedFile</param>        /// <param name="isRenameSameFile">值為true 同名文件進(jìn)行重命名,false覆蓋原有文件</param>        /// <param name="fileName">新的文件名</param>        /// <returns></returns>        private ResponseMessage CommonSave(HttpPostedFile postFile)        {            ResponseMessage reval = new ResponseMessage();            try            {                if (postFile == null || postFile.ContentLength == 0)                {                    TryError(reval, "沒有文件!");                    return reval;                }                //文件名                string fileName = Params.IsUseOldFileName ? postFile.FileName : DateTime.Now.ToString("yyyyMMddhhmmssms") + Path.GetExtension(postFile.FileName);                //驗證格式                this.CheckingType(reval, postFile.FileName);                //驗證大小                this.CheckSize(reval, postFile);                if (reval.Error) return reval;                string webDir = string.Empty;                // 獲取存儲目錄                var directory = this.GetDirectory(ref webDir);                var filePath = directory + fileName;                if (System.IO.File.Exists(filePath))                {                    if (Params.IsRenameSameFile)                    {                        filePath = directory + DateTime.Now.ToString("yyyyMMddhhssms") + "-" + fileName;                    }                    else                    {                        System.IO.File.Delete(filePath);                    }                }                // 保存文件                postFile.SaveAs(filePath);                reval.FilePath = filePath;                reval.FilePath = webDir + fileName;                reval.FileName = fileName;                reval.WebFilePath = webDir + fileName;                return reval;            }            catch (Exception ex)            {                TryError(reval, ex.Message);                return reval;            }        }        private void CheckSize(ResponseMessage message, HttpPostedFile PostFile)        {            if (PostFile.ContentLength / 1024.0 / 1024.0 > Params.MaxSizeM)            {                TryError(message, string.Format("對不起上傳文件過大,不能超過{0}M!", Params.MaxSizeM));            }        }        /// <summary>        /// 根據(jù)物理路徑獲取相對路徑        /// </summary>        /// <param name="fileDirectory"></param>        /// <param name="sever"></param>        /// <returns></returns>        private static string GetRelativePath(string fileDirectory)        {            var sever = HttpContext.Current.Server;            fileDirectory = "/" + fileDirectory.Replace(sever.MapPath("~/"), "").TrimStart('/').Replace('//', '/');            return fileDirectory;        }        /// <summary>        /// 獲取目錄        /// </summary>        /// <returns></returns>        private string GetDirectory(ref string webDir)        {            var sever = HttpContext.Current.Server;            // 存儲目錄            string directory = Params.FileDirectory;            // 目錄格式            string childDirectory = DateTime.Now.ToString("yyyy-MM/dd");            if (Params.PathSaveType == PathSaveType.code)            {                childDirectory = _Number;            }            webDir = directory.TrimEnd('/') + "/" + childDirectory + '/';            string dir = sever.MapPath(webDir);            // 創(chuàng)建目錄            if (Directory.Exists(dir) == false)                Directory.CreateDirectory(dir);            return dir;        }        /// <summary>        /// 驗證文件類型)        /// </summary>        /// <param name="fileName"></param>        private void CheckingType(ResponseMessage message, string fileName)        {            if
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产免费永久在线观看 | 一级黄色免费观看视频 | 亚洲天堂岛国片 | 91性高湖久久久久久久久网站 | 亚洲一级毛片 | 国产成人av一区二区 | 欧美久久久久久久久 | 在线播放一级片 | 亚洲精品永久视频 | 综合国产在线 | 国产精品一区二区三区在线播放 | 欧美日韩在线视频一区 | 失禁高潮抽搐喷水h | 色妞欧美 | 一级在线观看 | 中文字幕免费在线看 | lutube成人福利在线观看污 | aa级黄色片 | 空姐毛片| 高清一区二区在线观看 | 国产亚洲精品久久 | 成人一区二区三区在线 | 午夜国产精品成人 | 日本a∨精品中文字幕在线 狠狠干精品视频 | 久草在线视频中文 | 国产精品久久久久久久成人午夜 | 全黄裸片武则天一级第4季 偿还电影免费看 | 青草久久av | 久久精品资源 | 亚洲一区二区三区日本久久九 | 一区二区三区手机在线观看 | 精品国产一区二区在线 | 免费国产在线视频 | 亚洲小视频网站 | 91精品国| xnxx 美女19 | 黄色av.com | 亚洲va久久久噜噜噜久久男同 | 91性高湖久久久久久久久网站 | 日本aaaa片毛片免费观看视频 | 久久大陆|