1

在 MVC c# 中。ASP.NET。

我的要求是让用户能够从那里选择一个目录,只要目录中的文件以“Anqu”开头并且是.pdf文件,我需要将所有这些文件上传到服务器。

由于没有简单的方法来做一个文件夹选择器,我想我要做的是让用户从一个文件夹中选择一个文件,然后从那里,我可以检索目录路径,然后我可以检索所有适合的文件要求。

这是我发现的最佳方法(如果您有不同的感觉,请发表评论)。

一旦用户选择了一个文件并点击了提交,它就会进入以下操作结果:

     [HttpPost]
     public ActionResult FileUpload(HttpPostedFileBase file) 

     string dirName = new DirectoryInfo(file.FileName).Name; 

获取目录信息。我发现不可能得到它。

这就是我的看法:

    @using (Html.BeginForm("FileUpload", "Plt", FormMethod.Post, new { enctype = "multipart/form-data" }))

    {          

       <input type="file" name="file" />
       <input type="submit" value="OK" />
    }
4

3 回答 3

1

您不能操作或访问客户端文件系统,因为您可以想象,如果允许,这将是非常危险的。

想象一下去一个网站,然后你所有的私人文件都被上传到服务器上,而你没有特别选择将它们上传到那个服务器!!

这就是为什么您只能上传用户选择上传到您的服务器的文件,您能做的最好的事情是允许多个文件异步上传,使用javascript/jquery或使用Teleerix mvc 控件

于 2013-01-30T16:38:38.183 回答
1

你不能在 js 中做到这一点。浏览器中的 Javascript 无法访问本地文件系统。您操作的文件是来自请求的流。您无法从服务器访问客户端文件系统。这不是http的工作方式。

您应该检查提供漂亮用户界面并允许多个文件上传的上传器。

于 2013-01-30T16:33:56.983 回答
0

听起来您正试图让用户将文件从他们的计算机上传到服务器(通常是这种情况)。你会遇到的第一个问题是

string dirName = new DirectoryInfo(file.FileName).Name;

正在服务器上执行。您可以使用像uploadify这样的多文件上传器,并将通配符选择设置为 Anqu*.pdf,以便仅显示与您的描述匹配的文件。

Uploadify 与 ASP.Net MVC 问题

于 2013-01-30T16:37:46.107 回答