zoukankan      html  css  js  c++  java
  • .NETCore MVC 上传图片

    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         }
    UploadImg

    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         }
    UploadImage

    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 }
    appsettings.json

    效果:

  • 相关阅读:
    题解 CF171G 【Mysterious numbers
    题解 P1157 【组合的输出】
    题解 P3955 【图书管理员】
    题解 P2036 【Perket】
    题解 CF837A 【Text Volume】
    题解 CF791A 【Bear and Big Brother】
    题解 CF747A 【Display Size】
    题解 P1332 【血色先锋队】
    题解 P2660 【zzc 种田】
    题解 P4470 【[BJWC2018]售票】
  • 原文地址:https://www.cnblogs.com/shangec/p/13559582.html
Copyright © 2011-2022 走看看