在MVC中使用Ajax post的文件附件

本文关键字:文件 post Ajax MVC | 更新日期: 2023-09-27 18:18:42

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

这些文件需要保存时,我点击保存按钮(但保存按钮张贴数据通过Ajax调用)。

请给我一个建议。

在MVC中使用Ajax post的文件附件

有成千上万的插件可用于文件上传,你也可以使用基于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");
 }

如果你在这个解决方案中遇到任何问题,请告诉我。