ASP.NET Core基础之图片文件(一)-WebApi访问静态图片

阅读本文你的收获:

  1. 学会在WebApi项目中访问静态图片
  2. 了解静态文件中间件UseStaticFiles的用法

系统中免不了要去处理图片文件,比如上传商品的图片、显示商品的图片,访问系统中的图片等等,根据微软官网描述:

静态文件(如 HTML、CSS、图像和 JavaScript)是 ASP.NET Core 应用直接提供给客户端的资产。

那么怎么才能访问系统中的静态文件呢?本次,通过以下案例来演示在ASP.NET Core WebApi中如何访问静态图片。

开发环境:

操作系统: Windows 10 专业版
平台版本是:.NET 6
开发框架:ASP.NET Core WebApi
开发工具:Visual Studio 2022

一、显示wwwroot下的静态图片文件

静态文件存储在项目的 Web 根目录中。 默认的Web根目录路径为 "内容根目录/wwwroot",其中的"内容根目录"需要知道一下—— 在开发中,内容根目录默认为项目的根目录,它是应用内容文件(如生成的exe、dll文件,json配置文件等)和 Web 根目录的基路径。按照以下步骤:

  1. 项目中创建wwwroot文件夹
    ASP.NET Core WebApi项目中默认没有wwwroot文件夹,项目上右键菜单依次单击“添加”-“新建文件夹”来创建一个wwwroot文件夹,接着在此文件夹下面创建images文件夹,并添加 wwwroot/images/eagle.jpg 文件
    在这里插入图片描述

  2. 在Program.cs中配置 静态文件中间件UseStaticFiles


//服务注册代码略...

// 配置HTTP请求管道 (Middleware 中间件:处理请求和响应的一些组件)
var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
   
    app.UseSwagger();
    app.UseSwaggerUI();
}

//配置静态文件中间件
app.UseStaticFiles();

app.UseHttpsRedirection();
app.UseCors(); 
app.UseAuthorization();
app.MapControllers();
app.Run();

  1. 可以通过浏览器访问里面的静态图片文件
    用于访问 images 文件夹中的文件的 URI 地址格式为 https:///images/<image_file_name>。 本例为https://localhost:7186/images/eagle.jpg
    显示静态图片

二、显示任意位置的静态图片

  1. 项目中创建自定义文件夹,如“Files”文件夹
    自定义文件夹
  2. 在Program.cs中配置静态文件中间件

采用自定义配置StaticFileOptions,文件可以随意放到想放的路径

//引用命名空间
using Microsoft.Extensions.FileProviders;

app.UseStaticFiles(new StaticFileOptions
 {
   
      //例如保存到网站根目录 {content root}/Files下面,可以用Path.Combine方法拼接路径
      FileProvider = new PhysicalFileProvider(Path.Combine(app.Environment.ContentRootPath, "Files")),
      RequestPath = "/StaticFiles"  //配置请求路径
 });
  1. 用浏览器访问Files文件夹下面的图片
    因为配置了请求路径为“/StaticFiles”,所以本例的访问路径为:https://localhost:7186/StaticFiles/dolphin.jpg
    可爱的海豚

总结:

本文演示了在WebApi项目中如何访问静态图片,可以把图片放在默认的Web根目录wwwroot中,也可以自定义文件夹。用到了UseStaticFiles中间件,并对其配置进行了了解。以上例子中的图片文件都是能被公开访问的,如果想要控制文件的权限,需要再做额外的处理,请自行查看微软官网。

那今天就分享到这里,如果本文对你有帮助的话,请点赞+评论+关注,或者转发给需要的朋友。

最近更新

  1. TCP协议是安全的吗?

    2024-01-06 00:28:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-06 00:28:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-06 00:28:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-06 00:28:01       20 阅读

热门阅读

  1. 防抖节流的应用场景

    2024-01-06 00:28:01       32 阅读
  2. 分布式缓存考点梳理 + 高频面试题

    2024-01-06 00:28:01       32 阅读
  3. matlab中如何将视频保存成图像

    2024-01-06 00:28:01       38 阅读
  4. 【大数据】Doris 数仓使用规范原则

    2024-01-06 00:28:01       32 阅读
  5. Linux 挂载磁盘, 无数据案例

    2024-01-06 00:28:01       32 阅读
  6. 法大大实名认证的情况

    2024-01-06 00:28:01       32 阅读
  7. 自有图片数据制成npz格式数据集

    2024-01-06 00:28:01       40 阅读
  8. GIT使用简介

    2024-01-06 00:28:01       30 阅读
  9. C单词翻转

    2024-01-06 00:28:01       36 阅读
  10. uniapp 分享例子做个记录

    2024-01-06 00:28:01       41 阅读