【问题标题】:FTP file last modified VB.NETFTP文件最后修改VB.NET
【发布时间】:2015-07-23 08:09:26
【问题描述】:

在 Visual Basic 中如何从 FTP 服务器上的文件中获取修改日期?

这是我目前所拥有的:

Dim request = CType(WebRequest.Create(URL + ZipFile), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.GetDateTimestamp

之后我尝试了几行,但实际上都没有返回日期。

【问题讨论】:

    标签: vb.net ftp datemodified


    【解决方案1】:

    好吧,我想通了,但我将把它留在这里,因为我找不到任何其他关于此的 vb.net 帖子:

    Imports System.Net
    Imports System.Globalization
    
    Dim request = CType(WebRequest.Create(URL + ZipFile), FtpWebRequest)
    request.Method = WebRequestMethods.Ftp.GetDateTimestamp
    Dim response = CType(request.GetResponse(), FtpWebResponse)
    Dim ServerDate = DateTime.ParseExact(response.StatusDescription.Substring(4,14),"yyyyMMddHHmmss",_
                                         Cultureinfo.InvariantCulture,DateTimeStyles.None)
    

    【讨论】:

    • 您可能需要将时间从 UTC(由 FTP 服务器返回)转换为本地时间。见Convert UTC/GMT time to local time。感谢您分享您的解决方案,欢迎使用 Stack Overflow!
    【解决方案2】:
    Private Function ServerDateFile(FtpFullPathFile) As Date
            Dim request As FtpWebRequest = WebRequest.Create(FtpFullPathFile)
            request.Credentials = New NetworkCredential( YourFtpUserName, YourPassWord)
            request.Method = WebRequestMethods.Ftp.GetDateTimestamp
    
            Dim dLastModified As Date = Date.MinValue 'Change for your default value or nothing
    
            Try
                Using response As FtpWebResponse = request.GetResponse()
                    dLastModified = response.LastModified                   
                End Using
            Catch ex As WebException
                MsgBox(ex.Message, vbCritical)
            End Try
    
            Return dLastModified
        End Function
    

    【讨论】:

    • 虽然这段代码可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因
    猜你喜欢
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多