2014-01-07 35 views
1

我有一個程序需要使用最新的修改日期從ftp下載文件。FTP細節命令似乎沒有返回文件被修改的年份,有沒有辦法解決這個問題?

我有通常的代碼連接,我使用這種方法。

request.Method = WebRequestMethods.Ftp.ListDirectoryDetails; 

該回來的數據是這樣的:

-rw-r--r-- 1 myftp cats 1691090 Jan 6 20:52 somefile.zip 

沒有一年組件在這裏,所以我不能用這個日期對比,因爲一旦我們到十二月,它它會失敗一月到一月。

任何想法? FTP服務器是第三方,所以我無法對其進行任何更改。

+0

請參閱[僅列出使用C#的FTP服務器的文件和上次修改日期](http://stackoverflow.com/questions/1408211/):_「FTP列表結果是非標準的,因此每個FTP服務器都可能返回有些不同」_。您是否嘗試搜索內置此解析的第三方庫?另請參見[檢索文件的創建日期(FTP)](http://stackoverflow.com/questions/4454281/retrieving-creation-date-of-file-ftp) - > [System.Net.FtpWebRequest GetDateTimestamp示例](http ://stackoverflow.com/questions/1040371/system-net-ftpwebrequest-getdatetimestamp-example)。 – CodeCaster

+0

我明白了,謝謝。將找出解決方法。 – NibblyPig

+0

服務器是否支持[MDTM](http://tools.ietf.org/search/rfc3659#section-3)FTP命令? –

回答

1

這些示例似乎遵循與UNIXy ls -l命令相同的標準,該命令僅顯示年份超過6個月的日期。

如果是這樣,你可以很容易地推斷出一年,但你應該知道格式不能保證,它可能取決於FTP服務器運行的底層操作系統。

相關問題