在Asp.Net MVC中上传文件

| 我正在尝试在我的MVC项目中制作一个文件上传页面。首先,我想在本地进行管理。 我的问题是: 1-这是我的控制器和视图。为了使此代码正常工作,我需要做些什么?我的意思是定义模型或使用jquery等。上传文件时的过程是什么?
[HttpPost]
public ActionResult FileUpload(HttpPostedFileBase uploadFile)
{
if (uploadFile.ContentLength > 0)
            {
                string filePath = Path.Combine(HttpContext.Server.MapPath(\"C:/Users/marti/../PhotoGallery/myimages\"),
                 Path.GetFileName(uploadFile.FileName));
                uploadFile.SaveAs(filePath);
            }
            return View();
}
这是视图:
<input name=\"uploadFile\" type=\"file\" />
<input type=\"submit\" value=\"Upload File\" />
2-当我调试此,它永远不会去控制器。     
已邀请:
您的检视表上可能需要
enctype=\'multipart/form-data\'
    @model ImageModel
    @{
        ViewBag.Title = \"New Image\";
    }
    <div class=\"content-form-container width-half\">
        <form id=\'PropertiesForm\' action=\'@Url.Action(ImageController.Actions.Add, ImageController.Name)\' method=\'post\' enctype=\'multipart/form-data\' class=\'content-form\'>
        @Html.Partial(\"ImageName\")
        <fieldset class=\'content-form-1field\'>
            <div class=\'legend\'>
                file to upload
            </div>
            @Html.LabelledFileInput(ImageView.FileName, string.Empty)
        </fieldset>
        <div class=\'buttons\'>
            @Html.Button(\"button-submit\", \"submit\")
        </div>
        </form>
    </div>
    @section script{
        @Html.JavascriptInclude(\"~/js/image/new.min.js\")
    }
这是我的控制器代码:
    [HttpPost]
    [MemberAccess]
    public ActionResult Add()
    {
        var name = ImageView.ImageName.MapFrom(Request.Form);

        if (Request.Files.Count == 0)
        {
            RegisterFailureMessage(\"No file has been selected for upload.\");

            return ValidationFailureAdd(name);
        }

        var file = Request.Files[0];

        if (file == null || file.ContentLength == 0)
        {
            RegisterFailureMessage(\"No file has been selected for upload or the file is empty.\");

            return ValidationFailureAdd(name);
        }

        var format = ImageService.ImageFormat(file.InputStream);

        if (format != ImageFormat.Gif && format != ImageFormat.Jpeg && format != ImageFormat.Png)
        {
            RegisterFailureMessage(\"Only gif, jpg and png files are supported.\");

            return ValidationFailureAdd(name);
        }

        if (query.HasName(name))
        {
            RegisterFailureMessage(string.Format(\"Image with name \'{0}\' already exists.\", name));

            return ValidationFailureAdd(name);
        }

        using (var scope = new TransactionScope())
        {
            var id = Guid.NewGuid();

            var fileExtension = ImageService.FileExtension(format);

            Bus.Send(new AddWikiImageCommand
                     {
                         Id = id,
                         Name = name,
                         FileExtension = fileExtension
                     });

            var path = Path.Combine(ApplicationConfiguration.MediaFolder,
                                    string.Format(\"{0}.{1}\", id.ToString(\"n\"), fileExtension));

            if (System.IO.File.Exists(path))
            {
                System.IO.File.Delete(path);
            }

            file.SaveAs(path);

            scope.Complete();
        }

        return RedirectToAction(Actions.Manage);
    }
那里有一些自定义位,因此您可以忽略它们。您所需要的热情应该在那里。 高温超导     

要回复问题请先登录注册