1. 程式人生 > >ajax C# webapi上傳圖片

ajax C# webapi上傳圖片

ati context null 不存在 bmp name pat main.c 圖片路徑

html ajax上傳圖片到服務器 後端采用asp.net webapi

前端有各種現實上傳圖片的控件,樣式可以做的很美觀。我這裏只用基本的樣式做圖片上傳。

前端代碼

   <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) { } });

C# webapi代碼

        [HttpPost]
        public object 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)) { //存儲圖片路徑到數據庫 } }

ajax C# webapi上傳圖片