文件上传MVC3和Microsoft Web Helpers

时间:2011-12-12 18:25:55

标签: asp.net-mvc-3 c#-4.0

我目前正在使用Microsoft.WebHelpers附带的文件上传助手

@FileUpload.GetHtml(initialNumberOfFiles: 1, allowMoreFilesToBeAdded: true, includeFormTag: false, uploadText: "Upload")

这正确地给了我一个上传框但我有两个问题,我似乎无法找到答案。

第一个问题是如果我有一条长路径,则框不会正确显示文件名。

第二个问题是我可以添加一堆新文件,但似乎没有可以打开的删除选项。

我需要找到一个很好的工具来促进文件上传,它将为我提供这些选项并与asp.net mvc3无缝集成,或者找到一种方法来使用上传工具。

1 个答案:

答案 0 :(得分:0)

我不确定nuGet包的当前工具是什么。但是,我知道你可以很容易地自己动手。

在视图中:

@using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
...
<input type="file" id="files" name="files" size="60" /><input type="button">
...
<input type="submit">
}
<script>function(){ //make button add another input field with id="files"}
</script>

注意:从表单发送文件到控制器需要新的{enctype =“multipart / form-data”}。

在行动中:

[HttpPost]
public ActionResult ActionName(IEnumerable<HttpPostedFileBase> files)
{
    foreach(HttpPostedFileBase uploadFile in files)
    {
         //work with uploadFile
    }
}