MVC从文件选择器获取文件路径

时间:2014-03-07 14:15:25

标签: asp.net-mvc file

在MVC中寻找从浏览/文件选择器中选择文件的方法,然后点击提交。

但是当我点击提交时我不想上传实际文件,只想存储/检索选中的文件路径。

查看这样的示例,似乎文件被上传并存储到内存中,这不是我想要的。

[HttpPost]
    public ActionResult Index(HttpPostedFileBase file)
    {

2 个答案:

答案 0 :(得分:0)

在客户端上捕获用户选择的文件的名称并将其放在隐藏文件中。当用户单击“提交”时,仅将文件名提交给将字符串作为输入的操作方法:

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

由于您没有提供有关如何选择文件的代码,我只能建议您使用一个插件,允许您为选择事件挂钩您自己的javascript(我使用KendoUI上传)。

答案 1 :(得分: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类。