从服务器下载文件到本地机器-保持原来的最后更新日期

本文关键字:原来 最后 日期 更新 机器 下载 服务器 文件 | 更新日期: 2023-09-27 18:05:33

目前我正在使用httpwebrequest和响应和文件流下载文件,文件的最后更新日期更改为服务器的当前日期。我能预防吗?

using (FileStream fileStream = File.Create(@sTargetPath))
                            {
                                Sys.Log2(20, "Filestream - copying starts");
                                fileCopy(responseStream, fileStream);
                            }

public static void fileCopy(Stream input, Stream output)
    {
        byte[] buffer = new byte[3024]; 
        int bytesRead;
        while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0)
        {
            output.Write(buffer, 0, bytesRead);
        }
    }

从服务器下载文件到本地机器-保持原来的最后更新日期

您可以使用File.GetLastWriteTime获取远程文件的最后更新日期,并将其存储在例如DateTime lastUpdatedDate中。然后,在关闭输出流之后,您可以在新创建的文件中使用File.SetLastWriteTime:

设置它。
File.SetLastWriteTime(@sTargetpath, lastUpdatedDate);
编辑:

正如@HaraldDutch所指出的,你必须考虑到时区。在这种情况下,使用File.GetLastWriteTimeUTCFile.SetLastWriteTimeUTC更安全。