.Net Core MVC中通过URL访问根目录下的静态资源

事出有因

在使用layui的layedit富文本框时遇到一个问题,都知道在富文本框中是可以添加图片的,类似下面这样。
.Net Core MVC中通过URL访问根目录下的静态资源_第1张图片
layedit的使用就不过多说明了,如果需要使用图片上传的功能需要进行以下配置。

layedit.set({
     
  uploadImage: {
     
    url: '' //接口url
    ,type: '' //默认post
  }
});
//注意:layedit.set 一定要放在 build 前面,否则配置全局接口将无效。
layedit.build('demo'); //建立编辑器

填好后台接收文件的地址和请求方式即可,返回参数如下。

{
     
  "code": 0 //0表示成功,其它失败
  ,"msg": "" //提示信息 //一般上传失败后返回
  ,"data": {
     
    "src": "图片路径"
    ,"title": "图片名称" //可选
  }
}

这里唯一的难点是src,在.net core mvc中,wwwroot下的静态资源可以直接通过url访问,其他的资源若不进行单独的配置是无法访问的。

解决方法

startup.cs中的Configure方法中,有一行代码。

//表示允许访问静态资源。
//不加参数默认wwwroot可以访问。
app.UseStaticFiles();

所以如果需要访问别的文件夹,可以在修改如下。加两个UseStaticFiles.

   app.UseStaticFiles();
   app.UseStaticFiles(new StaticFileOptions
            {
     
                //资源所在的绝对路径。
                FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "uploadfile")),
                //表示访问路径,必须'/'开头
                RequestPath = "/uploadfile"
            });

这样对原来的wwwroot不影响,同时在配置了其他的文件可以正常访问。这时在访问这样的路径就可以正常访问了。

http://localhost:5001/uploadfile/20210420/2021042014571064120103.png

.Net Core MVC中通过URL访问根目录下的静态资源_第2张图片

你可能感兴趣的:(C#,.net,core,mvc,layui,layedit,layui富文本)