隐藏

asp.net MVC上传图片

发布:2023/2/10 23:41:59作者:管理员 来源:本站 浏览次数:381

HTML代码


<input name="Userfile" id="Userfile" type="file"></span>


Js代码


var formDate = new FormData();

var files = $("#Userfile").get(0).files;

//拼接请求参数

formDate.append("Userfile", files[0]);

//如果有其他参需要一起提交到后台

formDate.append("location", location);

$.ajax({

           type: "POST",

           url: url,

           contentType: false,

           cache: false,

           processData: false,          

           data: formDate,

           error: function (request) {

             

           },

           success: function (data) {

             

           }

       });


Web API后端代码


 [HttpPost]

 public string Save()

 {

       //图片存储路径

       string path = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "img/";

        //用户提交的数据

         var Data = System.Web.HttpContext.Current.Request.Form;

         string filesrc = string.Empty;

         string src = string.Empty;

         //获取上传的文件

         var httpPostedFile = HttpContext.Current.Request.Files;

         if (httpPostedFile != null && httpPostedFile.Count > 0)

         {

               var file = httpPostedFile[0];

               string imgType = Path.GetExtension(file.FileName);

               //限制文件上传类型

               if (imgType.Contains(".jpg") || imgType.Contains(".png") || imgType.Contains(".bmp"))

               {

                   string FileName = Guid.NewGuid().ToString() + imgType;

                   filesrc = path + FileName;

                   src = "/images/" + FileName;

                   // 如果目录不存在则要先创建

                   if (!Directory.Exists(uploadPath))

                   {

                       Directory.CreateDirectory(uploadPath);

                   }

                   file.SaveAs(filesrc);


               }

           }

           if (!string.IsNullOrEmpty(src))

           {

               //存储图片路径到数据库

           }

           return "上传成功后的图片地址";

}


Mvc端上传代码


       /// <summary>

       /// 图片上传

       /// </summary>

       /// <returns></returns>

       public string UploadImage()

       {

           var file = Request.Files.Get("file");

           string uid = file.FileName;

           if (!uid.IsEmpty())//服务器是否存在该文件

           {

               return "未获取到上传的图片文件信息";

           }

           if (file.ContentLength == 0)

           {


               return "文件不存在";

           }

           // 获取上传的图片名称和扩展名称

           string fileFullName = Path.GetFileName(file.FileName);

           string fileExtName = Path.GetExtension(fileFullName);

           if (fileExtName.Contains(".jpg") || fileExtName.Contains(".png") || fileExtName.Contains(".bmp"))

           {

               return "文件类型错误";

           }

           //获取当前项目所在的物流路径

           string path = Request.PhysicalApplicationPath;

           var src = path + "/images/";


           // 如果目录不存在则要先创建

           if (!Directory.Exists(src))

           {

               Directory.CreateDirectory(src);

           }

           file.SaveAs(src + fileFullName);

           return src + fileFullName;

       }