一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

C# 文件上傳類

 修行的嘟嘟 2011-06-07
using System;
002 using System.Collections.Generic;
003 using System.IO;
004 using System.Linq;
005 using System.Web;
006   
007 namespace Web
008 {
009     /// <summary>
010     /// 單文件上傳類 (暫時(shí)不支持多文件上傳)
011     /// yangyunzhou@foxmail.com
012     /// </summary>
013     public class UploadFile
014     {
015         /// <summary>
016         /// 上傳文件信息 (動(dòng)態(tài)數(shù)組)
017         /// </summary>
018         public Dictionary<string, dynamic> FileInfo = new Dictionary<string, dynamic>();
019   
020         /// <summary>
021         /// 最大文件大小
022         /// </summary>
023         public int FileSize = 10240;
024   
025         /// <summary>
026         /// 文件保存路徑
027         /// </summary>
028         public string FilePath = "/Upload";
029   
030         /// <summary>
031         /// 允許上傳的文件類型, 逗號(hào)分割,必須全部小寫!
032         /// 
033         /// 格式: ".gif,.exe" 或更多
034         /// </summary>
035         public string FileType = ".jpg,.gif,.png,.bmp";
036   
037         /// <summary>
038         /// 上傳錯(cuò)誤
039         /// </summary>
040         public bool Error;
041   
042         /// <summary>
043         /// 消息
044         /// </summary>
045         public string Message;
046   
047         /// <summary>
048         /// 保存文件
049         /// </summary>
050         /// <param name="FormField">表單文件域名稱</param>
051         public void Save(string FormField)
052         {
053             var Response = HttpContext.Current.Response;
054             var Request = HttpContext.Current.Request;
055   
056             // 獲取上傳的文件
057             HttpFileCollection File = Request.Files;
058             HttpPostedFile PostFile = File[FormField];
059   
060             // 驗(yàn)證格式
061             this.CheckingType(PostFile.FileName);
062   
063             // 獲取存儲(chǔ)目錄
064             var Path = this.GetPath();
065             var dir = Path + this.FileInfo["Name"];
066   
067             // 注冊(cè)文件信息
068             this.FileInfo.Add("path", Path + this.FileInfo["Name"]);
069             this.FileInfo.Add("filepath", this.FileInfo["dir"] + this.FileInfo["Name"]);
070   
071             // 保存文件
072             PostFile.SaveAs(dir);
073         }
074   
075         /// <summary>
076         /// 獲取目錄
077         /// </summary>
078         /// <returns></returns>
079         private string GetPath()
080         {
081             // 存儲(chǔ)目錄
082             string Path = this.FilePath;
083   
084             // 目錄格式
085             string Date = DateTime.Now.ToString("yyyy-MM/dd");
086             string dir = HttpContext.Current.Server.MapPath(Path + "/" + Date);
087   
088             // 注冊(cè)文件信息
089             this.FileInfo.Add("dir", Date + '/');
090   
091             // 創(chuàng)建目錄
092             if(Directory.Exists(dir) == false)
093                 Directory.CreateDirectory(dir);
094             return dir + '/';
095         }
096   
097         /// <summary>
098         /// 驗(yàn)證文件類型
099         /// </summary>
100         /// <param name="FileName"></param>
101         private void CheckingType(string FileName)
102         {
103             // 獲取允許允許上傳類型列表
104             string[] TypeList = this.FileType.Split(',');
105   
106             // 獲取上傳文件類型(小寫)
107             string Type = Path.GetExtension(FileName).ToLowerInvariant();
108             string Name = Path.GetFileNameWithoutExtension(FileName);
109             string NameHash = Name.GetHashCode().ToString();
110   
111             // 注冊(cè)文件信息
112             this.FileInfo.Add("name", Name);
113             this.FileInfo.Add("Name", MD5.Encrypt(NameHash) + Type);
114             this.FileInfo.Add("type", Type);
115   
116             // 驗(yàn)證類型
117             if(TypeList.Contains(Type) == false)
118                 this.TryError("文件類型非法!");
119         }
120   
121         /// <summary>
122         /// 拋出錯(cuò)誤
123         /// </summary>
124         /// <param name="Msg"></param>
125         public void TryError(string Msg)
126         {
127             this.Error = true;
128             this.Message = Msg;
129         }
130     }
131 }
用法:
1 var Upload = new UploadFile();
2 Upload.Save("file");
3 if(Upload.Error) {
4     Response.Write(Upload.Message);
5 } else {
6     Response.Write(Upload.FileInfo["filepath"]);
7     Response.Write("上傳成功!");
8 }

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    国内外激情免费在线视频| 日本一本在线免费福利| 国产老女人性生活视频| 又色又爽又无遮挡的视频 | 日本加勒比系列在线播放| 一区二区三区精品人妻| 国产精品视频第一第二区| 中国少妇精品偷拍视频| 精品国产日韩一区三区| 亚洲男人的天堂就去爱| 国内外免费在线激情视频| 欧美日韩国产二三四区| 日本特黄特色大片免费观看 | 精品亚洲一区二区三区w竹菊| 麻豆一区二区三区精品视频| 粗暴蹂躏中文一区二区三区| 国产丝袜极品黑色高跟鞋| 九九热在线免费在线观看| 国产精品成人一区二区在线| 黄色日韩欧美在线观看| 亚洲欧美日本国产有色| 黑人巨大精品欧美一区二区区| 色播五月激情五月婷婷| 日韩精品综合免费视频| 青青草草免费在线视频| 亚洲中文字幕剧情在线播放| 中国黄色色片色哟哟哟哟哟哟| 欧美一区二区三区播放| 久久re6热在线视频| 国产色第一区不卡高清| 午夜精品麻豆视频91| 不卡一区二区高清视频| 亚洲国产精品av在线观看| 国产成人精品视频一二区| 欧美午夜伦理在线观看| 不卡中文字幕在线免费看| 精品一区二区三区三级视频| 国产盗摄精品一区二区视频| 午夜福利视频日本一区| 国产一级特黄在线观看| 色无极东京热男人的天堂|