小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

文件操作 File

 貌似小白 2013-04-19

文件操作 File

分類: Asp.Net 89人閱讀 評論(0) 收藏 舉報

[c-sharp] view plaincopy?
  1.  public class FileOperBase  
  2.     {  
  3.      /// <summary>  
  4.      /// 路徑轉換(轉換成物理路徑)  
  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.         /// 上傳文件(默認文件名)  
  46.         /// </summary>  
  47.         /// <param name="fileUploadControl">上傳控件ID</param>  
  48.         /// <param name="SavePath">指定目錄  相對路徑</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+擴展名  
  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">完整文件名 相對路徑</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">目標文件名  物理路徑</param>  
  114.         /// <param name="overwrite">當目標文件存在時是否覆蓋</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.         /// 備份文件,當目標文件存在時覆蓋  
  139.         /// </summary>  
  140.         /// <param name="sourceFileName">源文件名 物理路徑</param>  
  141.         /// <param name="destFileName">目標文件名 物理路徑</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.         /// 恢復文件  
  150.         /// </summary>  
  151.         /// <param name="backupFileName">備份文件名  物理路徑 </param>  
  152.         /// <param name="targetFileName">要恢復的文件名 物理路徑</param>  
  153.         /// <param name="backupTargetFileName">要恢復文件再次備份的名稱,如果為null,則不再備份恢復文件</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">所在父級目錄</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.     }  

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約