.NET 6.0 MVC如何访问非wwwroot文件里的资源文件。即访问本地文件夹下的资源文件

1.Program下注册相关服务

app.UseStaticFiles();//使用静态文件

// ===设置额外可访问的文件夹路径===
app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider("D:/Image/Panorama/"),//需要访问的文件夹
    RequestPath = "/static",//转换为虚拟URL路径
    OnPrepareResponse = (c) =>
    {
        c.Context.Response.Headers.Add("Access-Control-Allow-Origin", "*");
        c.Context.Response.Headers.Add("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS, TRACE, HEAD, PATCH");
        c.Context.Response.Headers.Add("Access-Control-Allow-Headers", "*");
    }
});

使用:

string path = $"../static/文件名称";//资源外的文件

#region 加载本地图片,MVC显示图片的方法,不需要请忽略

public byte[] GetBytesFromImage(string filename)
{

    try
    {
        FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);

        int length = (int)fs.Length;

        byte[] image = new byte[length];

        fs.Read(image, 0, length);

        fs.Close();

        return image;
    }
    catch (Exception ex)
    {
        return null;
    }
}
///<img src="{{ path }}"/>访问控制器获取图片显示
public async Task<FileResult> Image()
{
    byte[] image = { };
    await Task.Run(() =>
        {

                image = GetBytesFromImage(path);
            
        });
    return new FileContentResult(image, "image/jpeg");
}
#endregion

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曾弟弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值