1,前台JavaScript

1 function uploadImg() { 2 var formDate = new FormData(); 3 var files = $("#image").get(0).files; 4 //拼接请求参数 5 formDate.append("image", files[0]); 6 //如果有其他参需要一起提交到后台 7 //formDate.append("location", location); 8 $.ajax({ 9 type: "POST", 10 url: "UploadImage", 11 contentType: false, 12 cache: false, 13 processData: false, 14 data: formDate, 15 error: function (request) { 16 17 }, 18 success: function (data) { 19 $('#content').val(data); 20 } 21 }); 22 }
2,后台C#代码

1 /// <summary> 2 /// 图片上传 3 /// </summary> 4 /// <returns></returns> 5 public string UploadImage() 6 { 7 var files = Request.Form.Files; 8 if (files.Count == 0) 9 { 10 return "File does not exist!"; 11 } 12 var file = files[0]; 13 string fileName = file.FileName; 14 if (string.IsNullOrEmpty(fileName))//服务器是否存在该文件 15 { 16 return "File does not exist!"; 17 } 18 // 获取上传的图片名称和扩展名称 19 string fileFullName = Path.GetFileName(file.FileName); 20 string fileExtName = Path.GetExtension(fileFullName); 21 var fileExtNames = _Configuration["FileExtName"].Split(','); 22 if (!fileExtNames.Contains(fileExtName)) 23 { 24 return "File type error!"; 25 } 26 //获取当前项目所在的物流路径 27 string imgPath = _Configuration["ImgPath"]; 28 var newPath = fileFullName.Substring(0, fileFullName.IndexOf(fileExtName)) + System.DateTime.UtcNow.Ticks + fileExtName; 29 var src = imgPath + newPath; 30 31 // 如果目录不存在则要先创建 32 if (!Directory.Exists(imgPath)) 33 { 34 Directory.CreateDirectory(imgPath); 35 } 36 using (FileStream fs = System.IO.File.Create(src)) 37 { 38 file.CopyTo(fs); 39 fs.Flush(); 40 } 41 return newPath; 42 }
3,appsettings.json

1 { 2 "Logging": { 3 "LogLevel": { 4 "Default": "Information", 5 "Microsoft": "Warning", 6 "Microsoft.Hosting.Lifetime": "Information" 7 } 8 }, 9 "AllowedHosts": "*", 10 "ImgPath": "D:\Work\Global Quality\Morningstar.EquityFundamentals\Morningstar.EquityFundamentals.WebApi\wwwroot\images\", 11 "FileExtName": ".jpg,.png,.bmp" 12 }
效果: