2012-11-09 48 views
-1

我有一個MVC Web應用程序,它提供用戶上傳文本文件。然後,我將這些文本文件存儲在一個文件系統監視器監視的文件夾中,並將其保存在新生成的文件中,然後將這些文件傳輸到FTP服務器。一切都很好,但文件創建日期存在一個小問題。我注意到,當他們將文件上傳到我的Web應用程序時,原始文件創建日期將由當前日期(文件實際上載的時間)替換。這不會發生在我的本地機器上。在保存文件之前,我甚至嘗試獲取文件創建日期,但始終是錯誤的。它可能是一個服務器配置設置?我的要求是採取原始文件創建日期,並將其轉換爲以毫秒爲單位的紀元日期。同樣,在開發機器上的本地工作也很好,只需在服務器上覆蓋原始創建日期。下面是我的代碼:C#文件上傳 - 原始創建日期被覆蓋

string storedFileName = string.Format("{0}{1}.out", destinationPath, System.Guid.NewGuid()); 
          file.ElementAt(1).SaveAs(storedFileName); 

          DateTime fileCreatedDate = System.IO.File.GetCreationTime(file.ElementAt(1).FileName); 

          //Change Creation DateTime to Epoch 
          TimeSpan span = (fileCreatedDate - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime()); 
          double epoch = span.TotalMilliseconds; 

回答

1

有一個關於包括作爲HTTP文件上傳的部分文件沒有元數據。你能得到的最多的是文件名,有時候是路徑。

如果您需要獲取其他文件信息,您需要創建某種客戶端應用程序來執行自定義上傳。瀏覽器本身也不會爲您的腳本提供這些信息。

+0

哦,是的,在本地機器上,它確實返回了元數據作爲實例文件創建日期。我只是調試,它看起來像2012年10月24日,在服務器上這個日期始終是當前日期 –