我正在尝试整理一个页面,用户可以通过该页面上传文件,然后将其转到数据库。
我正在学习教程,到目前为止,我的控制器方法如下所示:
public ActionResult Index()
{
ViewData["Message"] = "File Upload";
foreach (string upload in Request.Files)
{
if (!Request.Files[upload].HasFile()) continue;
string path = AppDomain.CurrentDomain.BaseDirectory + "uploads/";
string filename = Path.GetFileName(Request.Files[upload].FileName);
Request.Files[upload].SaveAs(Path.Combine(path, filename));
}
return View();
}
这也是我的观点的一个例子:
<p>
<% using (Html.BeginForm("", "home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{ %>
<input type="file" name="FileUpload1" /><br />
<input type="submit" name="Submit" id="Submit" value="Upload" />
<% } %>
</p>
但是,我目前遇到两个编译错误:
- “System.Web.HttpPostedFileBase”不包含“HasFile”的定义,并且找不到接受“System.Web.HttpPostedFileBase”类型的第一个参数的扩展方法“HasFile”(您是否缺少 using 指令或程序集引用?)
- 当前上下文中不存在名称“路径”
这也是我在控制器中用于命名空间的示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.UI.WebControls;
如果有人能指出我纠正此错误的正确方向,我将不胜感激。