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

分享

文件操作 File

 貌似小白 2013-04-19

文件操作 File

分類: Asp.Net 89人閱讀 評(píng)論(0) 收藏 舉報(bào)

[c-sharp] view plaincopy?
  1.  public class FileOperBase  
  2.     {  
  3.      /// <summary>  
  4.      /// 路徑轉(zhuǎn)換(轉(zhuǎn)換成物理路徑)  
  5.      /// </summary>  
  6.      /// <param name="path"></param>  
  7.      /// <returns></returns>  
  8.      public static string WebPathTran(string path)  
  9.      {  
  10.          try  
  11.          {  
  12.              return HttpContext.Current.Server.MapPath(path);  
  13.          }  
  14.          catch  
  15.          {  
  16.              return path;  
  17.          }      
  18.       
  19.      }  
  20.     }  
  21.   
  22. ------------------  
  23.  /// <summary>  
  24.     /// 文件信息  
  25.     /// </summary>  
  26.     public struct FileMessage  
  27.     {  
  28.         /// <summary>  
  29.         /// 文件大小  
  30.         /// </summary>  
  31.         public int FileSize;  
  32.         /// <summary>  
  33.         /// 文件名  
  34.         /// </summary>  
  35.         public string FileName;  
  36.     }  
  37. ---------------------------  
  38.  /// <summary>  
  39.     /// 文件操作  
  40.     /// </summary>  
  41.     public class FileOper : FileOperBase  
  42.     {           
  43.           
  44.         /// <summary>  
  45.         /// 上傳文件(默認(rèn)文件名)  
  46.         /// </summary>  
  47.         /// <param name="fileUploadControl">上傳控件ID</param>  
  48.         /// <param name="SavePath">指定目錄  相對(duì)路徑</param>  
  49.         /// <param name="IsGuid">啟用Guid重命名</param>  
  50.         /// <returns></returns>  
  51.         public static FileMessage UploadFile(FileUpload fileUploadControl, string SavePath, bool IsGuid)  
  52.         {             
  53.             FileMessage Message = new FileMessage();  
  54.             string filename = fileUploadControl.FileName;  
  55.             if (IsGuid)  
  56.             {  
  57.                 //Guid+擴(kuò)展名  
  58.                 filename = System.Guid.NewGuid().ToString() + filename.Substring(filename.LastIndexOf("."));  
  59.             }  
  60.             try  
  61.             {  
  62.                 string FileInServerName = WebPathTran(SavePath) + filename;  
  63.                 Message.FileSize = fileUploadControl.PostedFile.ContentLength;  
  64.                 Message.FileName = filename;  
  65.                 fileUploadControl.SaveAs(FileInServerName);  
  66.                 return Message;  
  67.             }  
  68.             catch (Exception ex)  
  69.             {  
  70.                 throw ex;                
  71.             }  
  72.   
  73.         }  
  74.         /// <summary>  
  75.         ///  文件下載  
  76.         /// </summary>  
  77.         /// <param name="filefullname">完整文件名 相對(duì)路徑</param>  
  78.         public static void DownLoadSmallFile(string filefullname)  
  79.         {  
  80.             HttpResponse response = HttpContext.Current.Response;  
  81.             HttpRequest request = HttpContext.Current.Request;  
  82.             string filepath = filefullname.Substring(0, filefullname.LastIndexOf("/") + 1);  
  83.             string filename = filefullname.Remove(0, filepath.Length);  
  84.             string Fileparentpath = WebPathTran(filepath);  
  85.             try  
  86.             {  
  87.                 if (File.Exists(Fileparentpath + "http://" + filename))  
  88.                 {  
  89.                     FileStream f = new FileStream(WebPathTran(filefullname), FileMode.Open, FileAccess.Read);  
  90.                     byte[] data = new byte[f.Length];  
  91.                     f.Read(data, 0, (int)f.Length);  
  92.                     response.Clear();  
  93.                     response.ClearHeaders();  
  94.                     response.Buffer = false;  
  95.                     response.ContentType = "application/octet-stream";  
  96.                     response.AddHeader("Content-Disposition""attachment;filename=" + System.Web.HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8));  
  97.                     response.AppendHeader("Content-Length", data.Length.ToString());  
  98.                     f.Close();  
  99.                     response.BinaryWrite(data);  
  100.                 }  
  101.                 else  
  102.                 {  
  103.                     response.Redirect(request.ServerVariables["HTTP_REFERER"]);  
  104.                 }  
  105.             }  
  106.             catch (Exception ew) { response.Write(ew.Message); }  
  107.         }  
  108.   
  109.         /// <summary>  
  110.         /// 備份文件  
  111.         /// </summary>  
  112.         /// <param name="sourceFileName">源文件名 物理路徑</param>  
  113.         /// <param name="destFileName">目標(biāo)文件名  物理路徑</param>  
  114.         /// <param name="overwrite">當(dāng)目標(biāo)文件存在時(shí)是否覆蓋</param>  
  115.         /// <returns>操作是否成功</returns>  
  116.         public static bool BackupFile(string sourceFileName, string destFileName, bool overwrite)  
  117.         {  
  118.             if (!System.IO.File.Exists(sourceFileName))  
  119.             {  
  120.                 throw new FileNotFoundException(sourceFileName + "文件不存在!");  
  121.             }  
  122.             if (!overwrite && System.IO.File.Exists(destFileName))  
  123.             {  
  124.                 return false;  
  125.             }  
  126.             try  
  127.             {  
  128.                 System.IO.File.Copy(sourceFileName, destFileName, true);  
  129.                 return true;  
  130.             }  
  131.             catch (Exception e)  
  132.             {  
  133.                 throw e;  
  134.             }  
  135.         }  
  136.   
  137.         /// <summary>  
  138.         /// 備份文件,當(dāng)目標(biāo)文件存在時(shí)覆蓋  
  139.         /// </summary>  
  140.         /// <param name="sourceFileName">源文件名 物理路徑</param>  
  141.         /// <param name="destFileName">目標(biāo)文件名 物理路徑</param>  
  142.         /// <returns>操作是否成功</returns>  
  143.         public static bool BackupFile(string sourceFileName, string destFileName)  
  144.         {  
  145.             return BackupFile(sourceFileName, destFileName, true);  
  146.         }  
  147.   
  148.         /// <summary>  
  149.         /// 恢復(fù)文件  
  150.         /// </summary>  
  151.         /// <param name="backupFileName">備份文件名  物理路徑 </param>  
  152.         /// <param name="targetFileName">要恢復(fù)的文件名 物理路徑</param>  
  153.         /// <param name="backupTargetFileName">要恢復(fù)文件再次備份的名稱,如果為null,則不再備份恢復(fù)文件</param>  
  154.         /// <returns>操作是否成功</returns>  
  155.         public static bool RestoreFile(string backupFileName, string targetFileName, string backupTargetFileName)  
  156.         {  
  157.             try  
  158.             {  
  159.                 if (!System.IO.File.Exists(backupFileName))  
  160.                 {  
  161.                     throw new FileNotFoundException(backupFileName + "文件不存在!");  
  162.                 }  
  163.                 if (backupTargetFileName != null)  
  164.                 {  
  165.                     if (!System.IO.File.Exists(targetFileName))  
  166.                     {  
  167.                         throw new FileNotFoundException(targetFileName + "文件不存在!無法備份此文件!");  
  168.                     }  
  169.                     else  
  170.                     {  
  171.                         System.IO.File.Copy(targetFileName, backupTargetFileName, true);  
  172.                     }  
  173.                 }  
  174.                 System.IO.File.Delete(targetFileName);  
  175.                 System.IO.File.Copy(backupFileName, targetFileName);  
  176.             }  
  177.             catch (Exception e)  
  178.             {  
  179.                 throw e;  
  180.             }  
  181.             return true;  
  182.         }  
  183.         public static bool RestoreFile(string backupFileName, string targetFileName)  
  184.         {  
  185.             return RestoreFile(backupFileName, targetFileName, null);  
  186.         }  
  187.   
  188.         /// <summary>  
  189.         /// 文件刪除  
  190.         /// </summary>  
  191.         /// <param name="parentPath">所在父級(jí)目錄</param>  
  192.         /// <param name="filename">文件名</param>  
  193.         /// <returns></returns>  
  194.         public static bool DeleteFile(string parentPath, string filename)  
  195.         {  
  196.             try  
  197.             {  
  198.                 string filefullname = WebPathTran(parentPath) + filename;  
  199.                 File.Delete(filefullname);  
  200.                 return true;  
  201.             }  
  202.             catch  
  203.             {  
  204.                 return false;  
  205.             }  
  206.   
  207.         }  
  208.         /// <summary>  
  209.         /// 文件刪除  
  210.         /// </summary>  
  211.         /// <param name="FilePath"></param>  
  212.         /// <returns></returns>  
  213.         public static bool DeleteFile(string FilePath)  
  214.         {  
  215.             FileInfo fi = new FileInfo(WebPathTran(FilePath));  
  216.             if (fi.Exists)  
  217.             {  
  218.                 try  
  219.                 {  
  220.                     fi.Delete();  
  221.                     return true;  
  222.                 }  
  223.                 catch  
  224.                 {  
  225.                     return false;  
  226.                 }  
  227.             }  
  228.             return true;  
  229.         }  
  230.         /// <summary>  
  231.         /// 判斷文件是否存在  
  232.         /// </summary>  
  233.         /// <param name="FilePath"></param>  
  234.         /// <returns></returns>  
  235.         public static bool ExistsFile(string FilePath)  
  236.         {              
  237.            return File.Exists(WebPathTran(FilePath));              
  238.         }  
  239.         /// <summary>  
  240.         /// 判斷文件夾是否存在  
  241.         /// </summary>  
  242.         /// <param name="Path"></param>  
  243.         /// <returns></returns>  
  244.         public static bool ExistsFold(string Path)  
  245.         {  
  246.             return Directory.Exists(WebPathTran(Path));  
  247.         }  
  248.         /// <summary>  
  249.         /// 創(chuàng)建文件夾  
  250.         /// </summary>  
  251.         /// <param name="Path"></param>  
  252.         public static void CreateFold(string Path)  
  253.         {  
  254.             Directory.CreateDirectory(WebPathTran(Path));  
  255.         }  
  256.   
  257.     }  

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

    0條評(píng)論

    發(fā)表

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

    類似文章 更多

    三级理论午夜福利在线看| 99久久国产亚洲综合精品| 黄男女激情一区二区三区| 一区二区在线激情视频| 美女被啪的视频在线观看| 女厕偷窥一区二区三区在线| 精品高清美女精品国产区| 日韩欧美在线看一卡一卡| 亚洲av首页免费在线观看| 日韩一级毛一欧美一级乱| 久久精品亚洲精品一区| 欧美一级片日韩一级片| 91欧美一区二区三区| 国产白丝粉嫩av在线免费观看| 日本福利写真在线观看| 两性色午夜天堂免费视频| av中文字幕一区二区三区在线| 国产又大又猛又粗又长又爽| 国产午夜免费在线视频| 男女激情视频在线免费观看| 午夜视频免费观看成人| 成年人黄片大全在线观看| 国产成人av在线免播放观看av| 日韩精品一区二区毛片| 欧美一级内射一色桃子| 亚洲第一区二区三区女厕偷拍| 男人和女人干逼的视频| 久久精品偷拍视频观看| 精品日韩视频在线观看| 国产精品欧美一区二区三区| 日韩欧美第一页在线观看| 欧美自拍偷自拍亚洲精品| 一区二区三区日韩经典| 国产不卡免费高清视频| 亚洲中文字幕综合网在线| 日本少妇aa特黄大片| 国产精品一区二区丝袜| 在线视频三区日本精品| 大尺度剧情国产在线视频| 精品亚洲一区二区三区w竹菊 | 国产肥妇一区二区熟女精品|