2014-03-07 138 views
0

在MVC中尋找從瀏覽/文件選擇器中選擇文件,然後點擊提交的方法。MVC從文件選擇器獲取文件路徑

但是當我點擊提交時,我不想上傳實際的文件,只想存儲/檢索選擇的文件路徑。

看着這樣的例子,它似乎像文件上傳並存儲到內存中,這是不是我想要的。

[HttpPost] 
    public ActionResult Index(HttpPostedFileBase file) 
    { 
+0

http://stackoverflow.com/q/7976998/2563028 – EfrainReyes

回答

0

您可以使用Path.GetFileName方法獲取帶有擴展名的文件名。 GetFileName方法接受文件的完整路徑,您可以從發佈文件的FileName屬性中獲取該路徑。

如果您不想將其保存到切斷磁盤,請不要這樣做。只要閱讀文件名並做你想做的事情。

[HttpPost] 
public ActionResult Index(HttpPostedFileBase file) 
{ 
    if (file != null) 
    { 
    string justFileName=Path.GetFileName(file.FileName); 
    // No need to save the file. Just forget about it. You got your file name 
    //do somethign with this now 
    } 
    // TO DO : Return something 
} 

您需要導入System.IO命名空間類使用Path類。

0

在客戶端捕獲用戶選擇的文件的名稱並將其放置在隱藏文件中。當用戶點擊提交,只能提交的文件名給接受字符串作爲輸入的操作方法:

[HttpPost] 
public ActionResult Index(string filename) 
{ 
    //Do something 
} 

既然你沒有提供你如何選擇文件的代碼,我只能建議你使用插件,允許你鉤住你自己的JavaScript的選擇事件(我使用KendoUI上傳)。