使用Ajax发布MVC中的文件附件

时间:2015-10-20 17:15:50

标签: c# jquery asp.net-mvc asp.net-mvc-4

我正在使用MVC应用程序。我的页面中有一个文件上传控件。 我将使用文件上传控件一次只附加一个文件。我将在带有删除选项的网格中显示文件名。

单击保存按钮时需要保存这些文件(但保存按钮通过Ajax调用发布数据)。

请建议我一个方法。 在此先感谢。

1 个答案:

答案 0 :(得分:3)

有数千个可用于fileupload的插件,你也可以使用基于HTML5的解决方案。但由于你没有指定你使用的是哪个插件,所以我刚刚为你提供了一个上传文件并保存的完整方法。

<form id="myForm" action="@Url.Action('files', 'controllername')" enctype="multipart/form-data">

    <input type="file" id="fileUpload" name="fileUpload" />
</form>

$("#fileUpload").change(function() {
    $("#myForm").submit();  // meaning whenever you select the file and press OK/Open, form will be submitted.
});


public ActionResult files()
{
     if (Request.Files.Count > 0)
     {
         var file = Request.Files[0];

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

     return RedirectToAction("Index");
 }

如果您在此解决方案中遇到任何问题,请与我们联系。