如何使用 Ajax 请求在 Asp.net MVC 中上传图像

How to upload a Image in Asp.net MVC using Ajax request

如何使用 Ajax 请求在 Asp.net MVC 中上传图像 我只有一个控制器,它的视图文件必须使用 Ajax 请求。

索引控制器

public ActionResult Index()
{
     return View();
}

及其观点

id="imageUploadForm"的文本框

<input type="file" id="imageUploadForm"  name="image" multiple="multiple" />

Ajax函数

 $(document).ready(function() {
       $("#imageUploadForm").change(function() {
         var formData = new FormData();
         var totalFiles = document.getElementById("imageUploadForm").files.length;
         for (var i = 0; i < totalFiles; i++) {
           var file = document.getElementById("imageUploadForm").files[i];
           formData.append("imageUploadForm", file);
         }
         $.ajax({
           type: "POST",
           url: '/Home/Upload',
           data: formData,
           dataType: 'json',
           contentType: false,
           processData: false
             //success: function(response) {
             //    alert('succes!!');
             //},
             //error: function(error) {
             //    alert("errror");
             //}
         }).done(function() {
           alert('success');
         }.fail(function( xhr, status, errorThrown ) {
             alert('fail');
           };
         });
       });

控制器功能

      [HttpPost]
        public void Upload()
        {

if(Request.Files.Count != 0){

            for (int i = 0; i < Request.Files.Count; i++)
            {
                var file = Request.Files[i];

                var fileName = Path.GetFileName(file.FileName);

                var path = Path.Combine(Server.MapPath("~/App_Data/"), fileName);
                file.SaveAs(path);
            }

        }

}