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

首頁 > 編程 > C# > 正文

C#實現文件上傳與下載功能實例

2019-10-29 21:18:07
字體:
來源:轉載
供稿:網友

最近學習了 C#實現文件上傳與下載,現在分享給大家。

1、C#文件上傳

創建MyUpload.htm頁面,用于測試

<form name="form1" method="post" action="UploadFile.aspx" id="form1"  enctype="multipart/form-data">   <input type="file" id="txtFile" name="picfile" /></br>   <input type="submit" value="上傳" /> </form> 

創建UploadFile.aspx文件,在UploadFile.aspx.cs鍵入如下代碼:

Random rnd = new Random();              //產生隨機數 private string _directory = @"/File/UploadFile";   //目錄 protected void Page_Load(object sender, EventArgs e) {   try   {     if (RequestFilesCount > 0)     {       //判斷文件大小       int length = RequestFiles[0]ContentLength;       if (length > 1048576)       {         ResponseWrite("文件大于1M,不能上傳");         return;       }        string type = RequestFiles[0]ContentType;       string fileExt = PathGetExtension(RequestFiles[0]FileName)ToLower();       //只能上傳圖片,過濾不可上傳的文件類型       string fileFilt = "gif|jpg|php|jsp|jpeg|png|";       if (fileFiltIndexOf(fileExt) <= -1)       {         ResponseWrite("對不起!請上傳圖片!!");         return;       }       else       {         string fileName = ServerMapPath(_directory) + "//" + DateTimeNowToString("yyyyMMddHHmmssfff") + rndNext(10, 99)ToString() + fileExt;         RequestFiles[0]SaveAs(fileName);         ResponseWrite("上傳成功!");       }     }   }   catch   {     throw new Exception();   } } 

2 、C#文件下載

創建DownloadFile.aspx,在DownloadFile.aspx.cs鍵入如下方法:

/// <summary> /// C#文件下載 /// </summary> /// <param name="filename"></param> public void MyDownload(string filename) {    string path = ServerMapPath("/File/"+filename);   if(!FileExists(path))   {     ResponseWrite("對不起!文件不存在!!");     return;   }   SystemIOFileInfo file = new SystemIOFileInfo(path);   string fileFilt="asp|aspx|php|jsp|ascx|config|asa|"; //不可下載的文件,務必要過濾干凈   string fileName = fileName;   string fileExt = fileNameSubstring(filenameLastIndexOf(""))Trim()ToLower();   if(fileFiltIndexOf(fileExt)!=-1)   {     ResponseWrite("對不起!該類文件禁止下載!!");   }   else   {     ResponseClear();     ResponseAddHeader("Content-Disposition", "attachment; filename=" + HttpUtilityUrlEncode(fileName));     ResponseAddHeader("Content-Length", fileLengthToString());     ResponseContentType = GetContentType(HttpUtilityUrlEncode(fileExt));     ResponseWriteFile(fileFullName);     ResponseEnd();   } }  /// <summary> /// 獲取下載類型 /// </summary> /// <param name="fileExt"></param> /// <returns></returns> public string GetContentType(string fileExt) {   string ContentType;   switch (fileExt)   {     case "asf":       ContentType = "video/x-ms-asf"; break;     case "avi":       ContentType = "video/avi"; break;     case "doc":       ContentType = "application/msword"; break;     case "zip":       ContentType = "application/zip"; break;     case "xls":       ContentType = "application/vndms-excel"; break;     case "gif":       ContentType = "image/gif"; break;     case "jpg":       ContentType = "image/jpeg"; break;     case "jpeg":       ContentType = "image/jpeg"; break;     case "wav":       ContentType = "audio/wav"; break;     case "mp3":       ContentType = "audio/mpeg3"; break;     case "mpg":       ContentType = "video/mpeg"; break;     case "mepg":       ContentType = "video/mpeg"; break;     case "rtf":       ContentType = "application/rtf"; break;     case "html":       ContentType = "text/html"; break;     case "htm":       ContentType = "text/html"; break;     case "txt":       ContentType = "text/plain"; break;     default:       ContentType = "application/octet-stream";       break;   }   return ContentType; } 

*如何獲取現有文件的ContentType屬性

/// <summary> /// 獲取現有文件的ContentType屬性 /// </summary> /// <param name="filename"></param> /// <returns></returns> public string GetFileContentType(string filename) {   string[] array = filenameSplit('');   string result = stringEmpty;   string suffix = "" + array[arrayLength - 1];   MicrosoftWinRegistryKey rg = MicrosoftWinRegistryClassesRootOpenSubKey(suffix);   object obj = rgGetValue("Content Type");   result = obj != null ? objToString() : stringEmpty;   rgClose();   return result; }  

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 都匀市| 监利县| 万宁市| 安图县| 尉氏县| 宝丰县| 西昌市| 民和| 许昌县| 星座| 内丘县| 伊宁县| 呼伦贝尔市| 龙口市| 丹寨县| 洛浦县| 乐东| 东方市| 长治县| 彝良县| 诏安县| 右玉县| 宜都市| 富民县| 宜君县| 宿迁市| 惠安县| 华坪县| 夹江县| 韶山市| 进贤县| 兴城市| 和林格尔县| 栖霞市| 肥乡县| 青川县| 榕江县| 绿春县| 孝义市| 通城县| 上思县|