【发布时间】:2012-07-15 10:18:23
【问题描述】:
我有这个 HTML:
<% using (Html.BeginForm("Upload", "BulkUpload", FormMethod.Post, new { enctype = "multipart/form-data" })) { %>
<%: Html.TextBoxFor(model => model.UploadFile, new { @type = "file" }) %>
<%: Html.ValidationMessageFor(model => model.UploadFile, "*") %>
<%= Html.Button("submit", "Upload", null) %>
<% } %>
还有这个模型:
public class BulkUploadVM
{
[DisplayName("File to import")]
public HttpPostedFileBase UploadFile { get; set; }
}
还有这个控制器:
[HttpPost]
public ActionResult Upload(BulkUploadVM model)
{
if (ModelState.IsValid)
{
var stream = model.UploadFile.InputStream;
// Process stream ...
}
return View("Index", model);
}
上传文件已正确发布到Controller,但是当Controller返回带有模型的视图(具有有效的UploadFile)时,页面上的文件路径为空?
这是默认行为吗?还是我错过了什么?
【问题讨论】:
-
您希望文件路径是什么?
-
我使用“浏览”按钮输入/选择的相同文件路径。
-
该值对服务器不可用,因此无法在转发时设置。
-
@Oded : model.UploadFile.FileName 见msdn.microsoft.com/en-us/library/…
-
出于安全原因,大多数浏览器不提供此信息。
标签: asp.net-mvc file-upload httppostedfilebase