1

我正在玩新的 MVC 4 beta 版本。我使用移动应用程序模板创建了一个新的 Web 项目。我只是添加了一个控制器和一个视图来上传文件,但该文件在操作结果中始终为空。这是一个错误,还是我做错了什么?控制器代码:

using System.IO;
using System.Web;
using System.Web.Mvc;

namespace MobileWebExample.Controllers
{
    public class FileUploadController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        [AllowAnonymous]
        [HttpPost]
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Upload(HttpPostedFileBase file)
        {
            int i = Request.Files.Count;

            if (file != null)
            {
                if (file.ContentLength > 0)
                {
                    var fileName = Path.GetFileName(file.FileName);
                    var path = Path.Combine(Server.MapPath("~/App_Data/uploads"),     fileName);
                    file.SaveAs(path);
                }
            }

            return RedirectToAction("Index");
        }
    }
}

视图如下所示:

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
<form action="@Url.Action("Upload")" method="post" enctype="multipart/form-data">

  <label for="file">Filename:</label>
  <input type="file" name="file" id="file" />

  <input type="submit" value="Submit" />
</form>
4

1 回答 1

0

我有类似的问题,但不是手机。

代替

public ActionResult Upload(HttpPostedFileBase file)

public ActionResult Upload(IEnumerable<HttpPostedFileBase> files)

然后,您可以访问集合中的文件

于 2012-08-01T14:46:25.987 回答