在MVC中处理多个文件上传 - 我如何知道哪个文件是哪个?

时间:2014-02-14 14:16:27

标签: asp.net-mvc multifile-uploader

我在我的MVC 3应用程序中有一个表单,允许用户可选地上传2个文件(或者一个或另一个),并且正在寻找一种方法来告诉哪个文件是哪个文件(如果只上传了两个文件中的一个)(例如,从输入中提取元素ID)。这些文件的用途非常不同,将保存到服务器上的不同文件夹中。这两个文件可能是相同的文件类型(Word,PDF等),因此文件扩展名不是一种可靠的方式来区分它们。有没有办法可以做到这一点,而不会让用户给文件一个特定的文件名或类似的东西不可靠?这是我正在尝试做的一个例子(我知道我的if语句不是正确的语法。它们只是为了澄清我想做什么)。谢谢大家!

 public ActionResult SaveProfile(IEnumerable<HttpPostedFileBase> files)
        .....
        foreach (var file in files)           
        {                 
            if (file has element id "file1") {
                 file.SaveAs(Server.MapPath("~/Folder1/" + file.FileName));
            }
            if (file has element id "file2") {
                 file.SaveAs(Server.MapPath("~/Folder2/" + file.FileName));
            }
        }
 }

2 个答案:

答案 0 :(得分:0)

如果你有恒定数量的文件输入,只给它们不同的名字。并改变你的post action args:

public ActionResult SaveProfile(HttpPostedFileBase file_name1, HttpPostedFileBase file_name2)

答案 1 :(得分:0)

我强烈建议您查看ELFinder.js和ELFinder.net。

http://elfinder.org/

https://elfinder.codeplex.com/