簡體   English   中英

在C#中使用文本框的文件名獲取文件路徑

[英]Get File Path using File name from a TextBox in C#

我使用的input type = file ,我使用的是Chrome,所以我不會被允許獲得所選擇的文件的文件路徑。 它只返回文件名

這是我現有的代碼:

string path = Path.GetFullPath(appPerfLog.Value);

我期待這個結果,以便可以在應用程序中使用完整路徑:

C:\Users\myUsername\Desktop\someFolder\Proactive_Hiring_VW101582_Combo_200users_09210316.csv

但這是我得到的:

C:\Program Files (x86)\IIS Express\Proactive_Hiring_VW101582_Combo_200users_09210316.csv

如何通過搜索計算機中的目錄來獲取完整路徑 我需要將其用於StreamReader。 出於安全方面的考慮,Google Chrome僅返回file name ,因此在了解解決方法/替代方法時我需要幫助。

沒有上載文件的完整路徑,或者至少沒有您應該使用的文件。

當您將文件上傳到Web服務器時,您使用的Web框架將該文件存儲在內存中或磁盤中的臨時目錄中,從那里,您的應用程序可以將該文件作為流讀取一次,也可以通過一種將其保存到您選擇的目錄中的方法。

一旦將應用程序部署到Web服務器上,您要做的事情就不會成功,因為無法保證文件甚至會以以前在客戶端上使用的名稱存在。 眾所周知,客戶端上名為D:\\Temp\\Foo.txt的文件在服務器上名為C:\\Windows\\Temp\\asdfg123.tmp

您將需要針對所使用的Web應用程序框架使用適當的API。 對於ASP.NET FileUpload控件,您將不得不使用FileUpload.SaveAs(string filename)來讓ASP.NET將文件寫入您選擇的路徑。 之后,您可以使用filename從代碼中讀取文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM