Asp.net-Mvc

如何使用 Ajax 請求在 Asp.net MVC 中上傳圖像

  • April 13, 2020

如何使用 Ajax 請求在 Asp.net MVC 中上傳圖像我有一個控制器,它的視圖文件必須使用 Ajax 請求。

索引控制器

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

及其觀點

id=“imageUploadForm” 的文本框

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

阿賈克斯函式

$(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);
           }

       }

}

引用自:https://stackoverflow.com/questions/32470906