【C#】.NET FTP 上傳文件并保留原始日期時間
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
我們有一個 Windows 2008 R2 Web 服務器,帶有基于 SSL 的 FTP。此應用程序使用 .NET 4.5,當我上傳文件時,文件上的日期/時間將更改為服務器上的當前日期/時間。有沒有辦法讓上傳的文件保留原始(最后修改)日期? 這是我所擁有的: FtpWebRequest clsRequest = (FtpWebRequest)WebRequest.Create(FTPFilePath); clsRequest.EnableSsl = true; clsRequest.UsePassive = true; clsRequest.Credentials = new NetworkCredential(swwwFTPUser, swwwFTPPassword); clsRequest.Method = WebRequestMethods.Ftp.UploadFile; Byte[] bFile = File.ReadAllBytes(LocalFilePath); Stream clsStream = clsRequest.GetRequestStream(); clsStream.Write(bFile, 0, bFile.Length); clsStream.Close(); clsStream.Dispose(); clsRequest = null; 最佳答案 確實沒有標準方法可以通過 FTP 協(xié)議(protocol)更新遠程文件的時間戳。這可能就是 有兩種非標準方法可以更新時間戳。非標準 MFMT yyyymmddhhmmss path 或非標準使用(其他標準) MDTM yyyymmddhhmmss path 但是 例如參見 How to send arbitrary FTP commands in C# . 所以你必須使用第三方 FTP 庫。 例如WinSCP .NET assembly默認情況下保留上傳文件的時間戳。 // Setup session options SessionOptions sessionOptions = new SessionOptions { Protocol = Protocol.Ftp, HostName = "example.com", UserName = "user", Password = "mypassword", }; using (Session session = new Session()) { // Connect session.Open(sessionOptions); // Upload session.PutFiles(@"c:\toupload\file.txt*", "/home/user/").Check(); } 參見a full example . 請注意,WinSCP .NET 程序集不是 native .NET 程序集。它是一個圍繞控制臺應用程序的薄 .NET 包裝器。 (我是 WinSCP 的作者) 關于c# - .NET FTP 上傳文件并保留原始日期時間,我們在Stack Overflow上找到一個類似的問題: 該文章在 2024/1/26 23:29:50 編輯過 |
關鍵字查詢
相關文章
正在查詢... |