久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

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     /// 單文件上傳類 (暫時不支持多文件上傳)
011     /// [email protected]
012     /// </summary>
013     public class UploadFile
014     {
015         /// <summary>
016         /// 上傳文件信息 (動態(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         /// 允許上傳的文件類型, 逗號分割,必須全部小寫!
032         /// 
033         /// 格式: ".gif,.exe" 或更多
034         /// </summary>
035         public string FileType = ".jpg,.gif,.png,.bmp";
036   
037         /// <summary>
038         /// 上傳錯誤
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             // 驗證格式
061             this.CheckingType(PostFile.FileName);
062   
063             // 獲取存儲目錄
064             var Path = this.GetPath();
065             var dir = Path + this.FileInfo["Name"];
066   
067             // 注冊文件信息
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             // 存儲目錄
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             // 注冊文件信息
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         /// 驗證文件類型
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             // 注冊文件信息
112             this.FileInfo.Add("name", Name);
113             this.FileInfo.Add("Name", MD5.Encrypt(NameHash) + Type);
114             this.FileInfo.Add("type", Type);
115   
116             // 驗證類型
117             if(TypeList.Contains(Type) == false)
118                 this.TryError("文件類型非法!");
119         }
120   
121         /// <summary>
122         /// 拋出錯誤
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 }

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約