标题之所以带上.net core,而不是.net就是由于两者在类库的使用以及部署环境有很大的差别,所以特此说明。

    长话短说,直接开始!

    1.新建一个.net core项目,版本是2.0,为了方便就建一个MVC模板项目

    使用.net core搭建文件服务器

    2.安装保存图片必须的类库,在NuGet里搜索System.Drawing.Common,然后点安装。值的说明一下,在.net里,操作是引用System.Drawing.dll,虽然core里也可以这么引用并且代码编译能通过,但是实际运行的时候是会抛异常的。所以还是老老实实在NuGet里安装吧。

    使用.net core搭建文件服务器

    3.接下来就是代码部分,我们写一个接收上传文件的方法,上传的原理是,将图片转成base64作为参数传递

    接口方法如图:

    使用.net core搭建文件服务器  

        /// <summary>
        /// 图片上传
        /// </summary>
        /// <param name="id">标识,暂时没用</param>
        /// <param name="filename">图片名称,带后缀名</param>
        /// <param name="img">图片base64编码</param>
        /// <returns></returns>
        public IActionResult Upload(int id, string filename, string img)
        {
            string res = string.Empty;
            try
            {
                string filePath = _hostingEnvironment.WebRootPath + "/images/" + filename;
                //将Base64String转为图片并保存
                byte[] arr2 = Convert.FromBase64String(img);
                using (MemoryStream ms2 = new MemoryStream(arr2))
                {
                    System.Drawing.Bitmap bmp2 = new System.Drawing.Bitmap(ms2);
                    bmp2.Save(filePath, System.Drawing.Imaging.ImageFormat.Png);
                }
                res = "http://static.lovemoqing.com" + "/images/" + filename;
            }
            catch (Exception ex)
            {
                res = ex.ToString();
            }
            return Content(res);
        }
View Code

相关文章:

  • 2021-11-20
  • 2022-02-06
  • 2021-11-05
  • 2021-11-03
  • 2022-12-23
  • 2019-12-25
  • 2022-12-23
猜你喜欢
  • 2021-04-02
  • 2021-09-25
  • 2022-02-06
  • 2021-10-29
  • 2019-12-14
  • 2021-10-01
相关资源
相似解决方案