亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

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

2019-11-17 02:07:40
字體:
來源:轉載
供稿:網友

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

調用:

            UploadFile uf = new UploadFile();            /*可選參數*/            uf.SetIsUSEOldFileName(true);//是否使用原始文件名作為新文件的文件名(默認:true),true原始文件名,false系統生成新文件名            uf.SetFileDirectory(Server.MapPath("/file/temp3/"));//文件保存路徑(默認:/upload)            uf.SetFileType("*");//允許上傳的文件類型, 逗號分割,必須全部小寫! *表示所有 (默認值: .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>    /// ** 描述:單文件上傳類 (暫時不支持多文件上傳)    /// ** 創始時間: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>        /// 文件保存路徑(默認:/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>        /// 是否使用原始文件名作為新文件的文件名(默認:true)        /// </summary>        /// <param name="isUseOldFileName">true原始文件名,false系統生成新文件名</param>        public void SetIsUseOldFileName(bool isUseOldFileName)        {            Params.IsUseOldFileName = isUseOldFileName;        }        /// <summary>        /// 允許上傳的文件類型, 逗號分割,必須全部小寫! *表示所有 (默認值: .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>        /// 保存表單文件,根據編號創建子文件夾        /// </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>        /// 保存表單文件,根據HttpPostedFile        /// </summary>        /// <param name="postFile">HttpPostedFile</param>        /// <param name="isRenameSameFile">值為true 同名文件進行重命名,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>        /// 根據物理路徑獲取相對路徑        /// </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);            // 創建目錄            if (Directory.Exists(dir) == false)                Directory.CreateDirectory(dir);            return dir;        }        /// <summary>        /// 驗證文件類型)        /// </summary>        /// <param name="fileName"></param>        private void CheckingType(ResponseMessage message, string fileName)        {            if
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品入口福利| 国产噜噜噜噜久久久久久久久| 欧美视频第一页| 精品国产31久久久久久| 欧美国产极速在线| 国产自摸综合网| 成人网在线视频| 亚洲图片制服诱惑| 亚洲欧美激情精品一区二区| 亚洲色图欧美制服丝袜另类第一页| 日韩在线视频网| 久久精品91久久香蕉加勒比| 尤物yw午夜国产精品视频明星| 国产中文欧美精品| 久久99热精品这里久久精品| 欧美激情精品在线| 国产视频精品va久久久久久| 国产香蕉一区二区三区在线视频| 51ⅴ精品国产91久久久久久| 播播国产欧美激情| 日韩精品视频在线观看网址| 国产精品久久视频| 九色精品美女在线| 国产精品久久久久不卡| 欧美激情精品久久久久久免费印度| 九九精品在线播放| 狠狠综合久久av一区二区小说| 国产精品日韩在线播放| 97涩涩爰在线观看亚洲| 国产精品网址在线| 精品国产精品三级精品av网址| 中文字幕亚洲精品| 亚洲第一在线视频| 一区二区三区视频免费| 久久久久久久久亚洲| 亚洲电影免费在线观看| 在线精品视频视频中文字幕| 日韩av中文字幕在线| 国产欧美日韩综合精品| 亚洲三级av在线| 亚洲人成在线观看| 国产精品吴梦梦| 91国自产精品中文字幕亚洲| 亚洲人成电影网| 国产欧美一区二区白浆黑人| 精品日本美女福利在线观看| 国产日韩欧美中文| 日韩国产精品视频| 国产欧美日韩免费看aⅴ视频| 国产999精品久久久影片官网| 欧美午夜片欧美片在线观看| 日韩欧美国产黄色| 色yeye香蕉凹凸一区二区av| 91高潮精品免费porn| 国产精品黄页免费高清在线观看| 2018日韩中文字幕| 欧美日韩人人澡狠狠躁视频| 国内成人精品一区| 久久久999成人| 欧美中文在线免费| 欧美亚洲国产视频| 中文字幕在线观看日韩| 中文字幕一精品亚洲无线一区| 国产精品久久久亚洲| 91av视频在线观看| 亚洲第一页自拍| 大伊人狠狠躁夜夜躁av一区| 清纯唯美亚洲综合| 国产美女直播视频一区| 欧美激情一级欧美精品| 亚洲码在线观看| 国产成人精品综合久久久| 91精品久久久久久久久久久| 91精品国产综合久久香蕉| 夜夜嗨av色一区二区不卡| 热久久这里只有精品| 日韩激情视频在线| 国产精品激情av在线播放| 日韩av电影手机在线观看| 欧美寡妇偷汉性猛交| 久久久久久尹人网香蕉| 日韩欧美在线第一页| 亚洲成在人线av| 国产精品一区二区在线| 欧美黄色片视频| 亚洲日韩欧美视频| 国产精品美乳一区二区免费| 亚洲欧美一区二区精品久久久| 国自产精品手机在线观看视频| 自拍偷拍亚洲在线| 亚洲第一国产精品| 日本久久久久久久久久久| 国产欧美一区二区三区在线| 国产精品免费一区豆花| 欧美老少配视频| 久久综合五月天| 国产99在线|中文| 国产精品美女主播在线观看纯欲| 一区二区在线免费视频| 国产精品看片资源| 成人伊人精品色xxxx视频| 最新国产精品亚洲| 成人国产在线视频| 久久久久久12| 国产乱人伦真实精品视频| 欧美精品18videos性欧| 日韩美女视频免费看| 国产成人在线视频| 亚洲欧美精品一区二区| 久久99国产综合精品女同| 日韩中文理论片| 久久久久一本一区二区青青蜜月| 成人久久久久久| 国产69精品久久久久99| 在线亚洲欧美视频| 精品久久久久久久久久久| 欧美日韩在线影院| 国产一区二区美女视频| 久久成人精品电影| 深夜福利日韩在线看| 国产精品高清网站| 国产视频在线一区二区| 激情成人在线视频| 78色国产精品| 大桥未久av一区二区三区| 日韩二区三区在线| 成人高h视频在线| 一本色道久久88综合日韩精品| 国产一区二区三区日韩欧美| 久久精品国产亚洲精品| 国产精品爽爽爽爽爽爽在线观看| 中文字幕亚洲一区在线观看| 国产精品中文字幕在线观看| 亲爱的老师9免费观看全集电视剧| 日韩av电影院| 色综合五月天导航| 538国产精品视频一区二区| 91免费看片网站| 欧美大人香蕉在线| 国产女人18毛片水18精品| 日本久久久久久久久| 国产精品久久久久久搜索| 最近2019中文免费高清视频观看www99| 亚洲视频电影图片偷拍一区| 国产91热爆ts人妖在线| 91在线视频导航| 波霸ol色综合久久| 久久久精品美女| 欧美成人精品三级在线观看| 日韩禁在线播放| 久久av中文字幕| 亚洲精品在线观看www| 不卡av在线播放| 午夜剧场成人观在线视频免费观看| 91精品免费看| 色妞久久福利网| 亚洲精品大尺度| xvideos成人免费中文版| 国产精品三级在线| 97视频在线播放| 一级做a爰片久久毛片美女图片| 亚洲欧美一区二区精品久久久| 精品人伦一区二区三区蜜桃免费| 久久精品视频在线观看|