2013-01-02 54 views
1

我在.aspx頁面上有文件上傳控件,我想上傳一個位置不一定總是一樣的圖片,可以放在與.sln相同的目錄下,在桌面上,任何地方。FiIeInfo.CreationTime。如何閱讀正確的價值?

我使用這個代碼讀取該文件的創建時間

string savePath = MapPath("~/" + Path.GetFileName(e.FileName)); 
FileInfo MyFileInfo = new FileInfo(savePath); 

string dt = MyFileInfo.CreationTime.Day.ToString(); 
string mn = MyFileInfo.CreationTime.Month.ToString(); 
string yr = MyFileInfo.CreationTime.Year.ToString(); 

我注意到一兩件事,

如果圖片是在同一文件夾中的網站,它給了我正確的價值觀所有

dtmnyr

但如果它是使L外ocation,它總是給我相同的值,每次

{1601年1月1日00:00:00}

不知道如何排序了這一點? 任何建議,有用的代碼?謝謝

+3

我懷疑你剛剛得到了錯誤的文件名 - 或者你沒有權限讀取文件。從文檔:「如果FileSystemInfo對象中描述的文件不存在,則該屬性將在1601年1月1日午夜12:00返回A.D.(C.E.)協調世界時(UTC),並調整爲當地時間。」 –

+0

我看到,我有MyFileInfo.Exists = false,所以這是有道理的,當我試圖訪問一個文件在不同的目錄中,但我想知道是否有任何其他方式來解決這個問題? – user1889838

+0

那麼我們必須首先確切知道什麼是錯的。這可能只是一個權限問題 - 您是否允許相應的ASP.NET帳戶查看該文件? –

回答

1

看來你還不明白客戶端/服務器的障礙。來自客戶端的路徑在服務器上沒有意義。

恰巧你的網站和客戶端運行在同一臺機器上,因爲你在本地調試。這只是一個巧合,它允許你的代碼有時工作(巧合)。

通過忽略路徑並從文件上傳控件提供的流中讀取,適當的文件上傳工作。文件上傳只是到服務器的一串字節。