从服务器下载文件到本地机器-保持原来的最后更新日期
本文关键字:原来 最后 日期 更新 机器 下载 服务器 文件 | 更新日期: 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.GetLastWriteTimeUTC
和File.SetLastWriteTimeUTC
更安全。