2012-07-26 161 views
2

我使用Ajax File Upload控件在Visual Studio 2010中運行Web窗體的本地版本。AjaxFileUpload fileName是完整路徑,而不僅僅是文件名

我通過上傳文件並將e.fileNamee.fileSize等寫入數據庫,然後使用GridView稍後下載文件來進行測試。

我的問題是:當我將e.fileName寫入數據庫時​​,它給出了文件的整個路徑(即「C:\ Folder \ filename.xls」)作爲文件名。

建議糾正這將不勝感激。

回答

3

你可以在System.IO使用Path.GetFileName

string justTheName = Path.GetFileName(e.fileName); 

再經過 「justTheName」 到數據庫中。

+1

我已經做了這個改變,它效果很好!這似乎只適用於從我的代碼的本地構建/調試寫入數據庫。當我把這個代碼放在它的虛擬文件夾中的IIS上(即文件名仍然是'C:\ folder \ filename.xls')時,問題依然存在。感謝您的回覆,但問題不在我的本地版本中,但仍然存在在從服務器版本運行時應用。 – central 2012-07-30 20:18:44

+0

@central啊,很好。根據[這個答案](http://stackoverflow.com/questions/1130560/get-full-path-of-a-file-with-fileupload-control/3077008#3077008),它可能會更有益(在你的開發環境)使用'Server.MapPath'來獲取真實路徑,然後使用'Path.GetFileName'。類似於'string justTheName = Path.GetFileName(Server.MapPath(e.fileName));' – jadarnel27 2012-07-30 20:38:58

相關問題