2010-06-14 42 views
5

问候!ASP.NET FileUpload

我正在使用ASP.NET FileUpload控件来允许用户将文本文件上传到我们的Web服务器。在使用控件的SaveAs()方法将文件保存到我们想要的位置等方面,一切都很好。

但是我们被一个看似简单的警告吓倒了:上传文件的原始时间戳丢失了,比如上次修改日期和创建日期。上次修改日期和创建日期成为将文件保存到服务器的实际日期和时间。

我的问题是:有没有办法通过设置一些我还没有意识到的属性来保留原始时间戳,或者是否有可能读取文件的元数据以获取其原始时间戳?

任何在视线和建议非常感谢。

约翰

回答

4

除非上传的文件格式本身包含此数据,否则不会。

当文件上传到Web服务器时,该文件的二进制数据被发送到服务器,而不是文件系统中表示的“文件”。例如,您不知道您的文件来自兼容的文件系统;你只能得到它的数据。因此,元数据是不可访问的。

+0

感谢马丁的快速和明确的答案。自从我的博客后,我了解到获取该信息的唯一方法是通过silverlight,或者可以访问客户端文件系统的javaapplet或activeX Control。 – John 2010-06-14 16:48:19

+0

没问题;显然,这些解决方案带来的额外负担是您的用户必须授予applet访问本地文件系统的权限,但如果您真的需要这些数据,那就是要走的路。 – 2010-06-14 16:51:38

+0

你是对的。完全是因为你描述的原因,我们决定不打扰上传文件的时间戳。我们必须生活在限制之内。 – John 2010-06-16 18:48:14