在MVC中寻找从浏览/文件选择器中选择文件的方法,然后点击提交。
但是当我点击提交时我不想上传实际文件,只想存储/检索选中的文件路径。
查看这样的示例,似乎文件被上传并存储到内存中,这不是我想要的。
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
答案 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
类。