我想在MVC中实现文件uplaod逻辑,我的视图(cshtml)将包含这样的内容。
<div id="dialog" title="Upload files">
<p><input type="file" id="fileUpload" name="fileUpload" /> </p>
<p><input type="submit" value="Upload file" /></p>
<% } %>
</div>
我的控制器将具有保存文件的逻辑。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult FileUpload(HttpPostedFileBase uploadFile)
{
if (uploadFile.ContentLength > 0)
{
string filePath = Path.Combine(HttpContext.Server.MapPath("../Uploads"),
Path.GetFileName(uploadFile.FileName));
uploadFile.SaveAs(filePath);
}
return View();
}
如何链接click事件以触发此控制器?这只是我在网上得到的一个示例代码,让我知道它是不是正确的。
谢谢, 阿达什讷
答案 0 :(得分:0)
您将通过提交表单来触发此控制器操作,就像MVC范例一样。
在视图中,您应将此HTML放在以下格式中:
@using (Html.BeginForm("FileUpload", "<ControllerNameHere>", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<p><input type="file" id="fileUpload" name="fileUpload" /> </p>
<p><input type="submit" value="Upload file" /></p>
}
这会触发你的控制器。
我不知道如何使用该文件作为参数工作。我通常在控制器中使用Request.Files
属性。