在MVC中尋找從瀏覽/文件選擇器中選擇文件,然後點擊提交的方法。MVC從文件選擇器獲取文件路徑
但是當我點擊提交時,我不想上傳實際的文件,只想存儲/檢索選擇的文件路徑。
看着這樣的例子,它似乎像文件上傳並存儲到內存中,這是不是我想要的。
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
在MVC中尋找從瀏覽/文件選擇器中選擇文件,然後點擊提交的方法。MVC從文件選擇器獲取文件路徑
但是當我點擊提交時,我不想上傳實際的文件,只想存儲/檢索選擇的文件路徑。
看着這樣的例子,它似乎像文件上傳並存儲到內存中,這是不是我想要的。
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
您可以使用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
類。
在客戶端捕獲用戶選擇的文件的名稱並將其放置在隱藏文件中。當用戶點擊提交,只能提交的文件名給接受字符串作爲輸入的操作方法:
[HttpPost]
public ActionResult Index(string filename)
{
//Do something
}
既然你沒有提供你如何選擇文件的代碼,我只能建議你使用插件,允許你鉤住你自己的JavaScript的選擇事件(我使用KendoUI上傳)。
http://stackoverflow.com/q/7976998/2563028 – EfrainReyes