首页 > 解决方案 > 浏览器访问时 ASP.NET Core 看不到图像

问题描述

我在 IIS Express 上创建了一个 ASP.NET Core 3.1 Web API 项目,它与控制器完美配合。我创建了一个文件夹images,并在那里复制了一些.jpg文件。

我的想法是使用 url 从我的 Xamarin 应用程序中获取这些图像,例如

http://192.168.0.185:52493/img/lucas.PNG

但没有任何东西被退回。然后我尝试将 url 直接写入 Internet Explorer,但没有任何反应,图像也没有显示在浏览器中。

知道它可能是什么吗?

标签: asp.net-coreasp.net-web-api

解决方案


如果您想从img位于项目根目录中的您自己的文件夹而不是默认 wwwroot文件夹访问您的文件,您需要在 startup.csConfigure方法中配置静态文件中间件,如下所示:

app.UseStaticFiles();// For the wwwroot folder

app.UseStaticFiles(new StaticFileOptions
    {
        FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(), "img")),
        RequestPath = "/img"
    });
app.UseRouting();
//other middlewares

请参阅https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-2.2#serve-files-outside-of-web-root


推荐阅读