ASP.NET CORE中用LayUI编辑器上传图片的方法

   /// <summary>
    /// layui在线编辑器里的上传图片功能
    /// </summary>
    /// <returns></returns>
    [HttpPost]
    public IActionResult UploadImage()
    {
        #region 文件上传
        var imgFile = Request.Form.Files[0];
        if (imgFile != null && !string.IsNullOrEmpty(imgFile.FileName))
        {
            long size = 0;
            string tempname = "";
            var filename = ContentDispositionHeaderValue
                            .Parse(imgFile.ContentDisposition)
                            .FileName
                            .Trim('"');
            var extname = filename.Substring(filename.LastIndexOf("."), filename.Length - filename.LastIndexOf("."));
            var filename1 = System.Guid.NewGuid().ToString().Substring(0, 6) + extname;
            tempname = filename1;
            var path = hostingEnv.WebRootPath;
            string dir = DateTime.Now.ToString("yyyyMMdd");
            if (!System.IO.Directory.Exists(hostingEnv.WebRootPath + $@"\upload\{dir}"))
            {
                System.IO.Directory.CreateDirectory(hostingEnv.WebRootPath + $@"\upload\{dir}");
            }
            filename = hostingEnv.WebRootPath + $@"\upload\{dir}\{filename1}";
            size += imgFile.Length;
            using (FileStream fs = System.IO.File.Create(filename))
            {
                imgFile.CopyTo(fs);
                fs.Flush();
            }
            return Json(new { code = 0, msg = "上传成功", data = new { src = $"/upload/{dir}/{filename1}", title = "图片标题" } });
        }
        return Json(new { code = 1, msg = "上传失败", });
        #endregion
    }

代码里面的那个取WEB目录路径的hostingEnv需要在控制器的构造函数中注入一下,代码如下:

private IHostingEnvironment hostingEnv;
public BlogController(IHostingEnvironment env)
{
this.hostingEnv = env;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 大文件的上传是我一直以来想学习的一个技术点,今天在项目闲暇之时,终于有机会自己尝试了一把,本文仅仅是个Demo,各...
    小久代码搬运阅读 2,126评论 0 1
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,264评论 0 38
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,711评论 19 139
  • 本文包括:1、文件上传概述2、利用 Commons-fileupload 组件实现文件上传3、核心API——Dis...
    廖少少阅读 12,746评论 5 91
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,855评论 18 399

友情链接更多精彩内容