繁体   English   中英

如何在ASP.Net中检索上传文件的“上次修改日期”

[英]How to retrieve “Last Modified Date” of uploaded file in ASP.Net

我正在开发一个网站,其中客户端上传一些文档文件,如doc,docx,htm,html,txt,pdf等。我想检索上传文件的上次修改日期。 我创建了一个处理程序(.ashx)来完成保存文件的工作。

Following is the code:
HttpPostedFile file = context.Request.Files[i];                                 
string fileName = file.FileName;                               
file.SaveAs(Path.Combine(uploadPath, filename));

如您所见,使用file.SaveAs()方法保存文件非常简单。 但是这个HttpPostedFile类没有暴露任何属性来检索文件的最后修改日期。

那么有人能告诉我如何在将文件保存到硬盘之前检索文件的最后修改日期吗?

今天,您可以使用HTML5 api从客户端访问此信息

//fileInput is a HTMLInputElement: <input type="file" multiple id="myfileinput"> 
var fileInput = document.getElementById("myfileinput");
// files is a FileList object (simliar to NodeList) 
var files = fileInput.files;
for (var i = 0; i < files.length; i++) {
    alert(files[i].name + " has a last modified date of " + files[i].lastModifiedDate);
}

来源和更多信息

你不能这样做。 HTTP发布请求不包含有关上载文件的此信息。

劳,

您只能在服务器上获取日期。 如果您对此感到满意,请尝试:

string strLastModified = 
    System.IO.File.GetLastWriteTime(Server.MapPath("myFile.txt")).ToString("D");

进一步需要注意的是,此日期时间将是保存在服务器上的日期,而不是原始文件的日期时间。

在将文件保存到磁盘之前,这是不可能的。

您通常无法获取上次修改日期,因为日期未存储在文件中。

操作系统实际上存储文件属性,如Created,Accessed和Last Modified。 请参阅“上次修改日期”和“上次访问日期”保存在哪里?

(我之所以这么说,是因为像图像这样的某些文件类型可能有EXIF标签数据,例如拍摄照片的日期/时间。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM