我需要使用MVC上传多个文件。在我的表单上,我有一个treeview控件,显示用户选择的各种目录中的所有可用文件。我将用户选择的文件捕获到一个变量中,文件可以是1:n。
在我的表单上,我放置了一个div标签,然后在尝试发布表单之前尝试将类型为file的输入标签注入div标签:
for (y = 0; y < selectedFiles.length; y++) {
$('#serverContent').val($('#serverContent').val() + '<input type="file" name="files" value="' + selectedFiles[y] + '" />');
};
在我的MVC模型上我声明了:
public IEnumerable<HttpPostedFileBase> files { get; set; }
我的帖子方法签名有:
[HttpPost]
public ActionResult UploadFile(int serviceUserId, string folderId,IEnumerable<HttpPostedFileBase> files)
我的表格签名是:
<form action="@Url.Action("UploadFile", "Documents", new { area = "ServiceUser" })" method="post" id="filesubmission" enctype="multipart/form-data">
post文件为空后,在我的控制器中。如果我直接查看Request对象,那里的文件也是空的。我认为这可能是我在前端构建输入标签的方式,但很难看到它们。