0

我有简单的 http 表单来使用 http 输入标签上传文件,如下所示:

<% using (Html.BeginForm("Add", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
   {%>
     <label for="file"> Select File :</label>
     <input type="file" name="uploadedFile" value="" accept="text/plain" class="fileUpload" />
     <input id="btnAdd" type="submit" class="button" name="Add" value=" Add "/>
<% } %>

回到控制器我有一个相应的动作:

[HttpPost]
public ActionResult Add(HttpPostedFileBase uploadedFile)
{
    Logger.Debug("Inside Add");

    ProductModel model = new ProductModel();

    if (uploadedFile.ContentLength > 0)
    {
        string filePath = Path.Combine(HttpContext.Server.MapPath("~/Uploads"),
                                       Path.GetFileName(uploadedFile.FileName));
        Logger.Debug("File saved at - " + filePath);
        uploadedFile.SaveAs(filePath);
        model.FileName = uploadedFile.FileName;
        model.Add(filePath);
        return View("Result", model);
    }
    return RedirectToAction("Index");
}

在我的开发机器和实验室服务器上,这非常有效。但在生产中,它甚至不会发送任何提交按钮的请求。我通过提琴手检查了请求,它没有显示请求甚至来自此表单的任何痕迹,来自 win 2008 r2 生产服务器上的 IE 8。

我在这里一无所知。可能是什么问题?您认为 IE 安全权限、UAC、组策略可能是个问题吗?或者你还有其他话要说。

4

1 回答 1

0

uploadFile尝试UploadedFile在视图中将文件输入的名称从更改为

<% using (Html.BeginForm("Add", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
   {%>
     <label for="file"> Select File :</label>
     <input type="file" name="UploadedFile" value="" accept="text/plain" class="fileUpload" />
     <input id="btnAdd" type="submit" class="button" name="Add" value=" Add "/>
<% } %>
于 2013-01-04T06:35:04.057 回答