我使用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 8 win 2 r2生产服务器上的IE 8。
我在这里很无能为力。可能是什么问题?您认为IE安全权限,UAC,组策略可能是个问题吗?或者你还有别的话要说。
答案 0 :(得分: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 "/>
<% } %>