2010-06-14 67 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