国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

ASP.NET 文件上傳類(lèi) 簡(jiǎn)單好用

2019-11-17 02:07:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

asp.net 文件上傳類(lèi) 簡(jiǎn)單好用

調(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("*");//允許上傳的文件類(lèi)型, 逗號(hào)分割,必須全部小寫(xiě)! *表示所有 (默認(rèn)值: .pdf,.xls,.xlsx,.doc,.docx,.txt,.png,.jpg,.gif )              uf.SetIsRenameSameFile(false);//重命名同名文件?             //文件以時(shí)間分目錄保存            var message = uf.Save(Request.Files["Fileupload1"]); //  “/file/temp3/2015/4/xx.jpg”            //文件以編號(hào)分目錄保存            var message2 = uf.Save(Request.Files["Fileupload1"], "001" /*編號(hào)*/);  //   “/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>    /// ** 描述:?jiǎn)挝募蟼黝?lèi) (暫時(shí)不支持多文件上傳)    /// ** 創(chuàng)始時(shí)間:2015-5-27    /// ** 修改時(shí)間:-    /// ** 作者: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>        /// 允許上傳的文件類(lèi)型, 逗號(hào)分割,必須全部小寫(xiě)! *表示所有 (默認(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ù)編號(hào)創(chuàng)建子文件夾        /// </summary>        /// <param name="postFile">HttpPostedFile</param>        /// <param name="number">編號(hào)</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, "沒(méi)有文件!");                    return reval;                }                //文件名                string fileName = Params.IsUseOldFileName ? postFile.FileName : DateTime.Now.ToString("yyyyMMddhhmmssms") + Path.GetExtension(postFile.FileName);                //驗(yàn)證格式                this.CheckingType(reval, postFile.FileName);                //驗(yàn)證大小                this.CheckSize(reval, postFile);                if (reval.Error) return reval;                string webDir = string.Empty;                // 獲取存儲(chǔ)目錄                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("對(duì)不起上傳文件過(guò)大,不能超過(guò){0}M!", Params.MaxSizeM));            }        }        /// <summary>        /// 根據(jù)物理路徑獲取相對(duì)路徑        /// </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;            // 存儲(chǔ)目錄            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>        /// 驗(yàn)證文件類(lèi)型)        /// </summary>        /// <param name="fileName"></param>        private void CheckingType(ResponseMessage message, string fileName)        {            if
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 虹口区| 阿鲁科尔沁旗| 黄陵县| 珠海市| 普兰店市| 吉林省| 宜黄县| 如东县| 电白县| 大石桥市| 濮阳县| 保康县| 陈巴尔虎旗| 荔波县| 巨野县| 昌平区| 南充市| 新宁县| 磐石市| 富顺县| 固原市| 西乌珠穆沁旗| 大名县| 黄石市| 浦县| 商河县| 福安市| 龙南县| 三亚市| 延川县| 慈利县| 灵台县| 盐津县| 沙洋县| 徐州市| 外汇| 宜丰县| 汕头市| 开江县| 通海县| 德令哈市|