首页 > 解决方案 > 从 Server Blazor 客户端加载图像

问题描述

我已经测试 Blazor 客户端几天了,并且已经让文件上传系统工作,但是当我尝试从客户端以"<img src="~/uploads/images/file1.jpg">"html 标记从服务器加载图像时,图像无法加载。服务器在https://localhost:5001上作为项目 运行,客户端在 https://localhost:44306上以 IISExpress 模式运行

我怀疑正在发生的事情是图像试图从客户端项目端口而不是服务器项目端口加载。如何将所有图像请求路由到存储图像的服务器地址?

标签: blazorblazor-client-side

解决方案


假设您的项目今天已投入生产,那么将它们托管在两个不同的站点上是否准确?(例如 myblazorapp.com 和 api.myblazorapp.com)。如果是这样,那么相对路径只会把罐子踢到路上。使用配置存储图像目录的完全限定路径。

但是,如果您的服务器端代码是为此 Blazor 应用程序创建的,那么您可能选择了错误的托管模型。该Hosted模型允许您使用 ASP.NET 核心应用将 Blazor 应用提供给客户端。这也意味着服务器的资源、api 和静态文件都可以通过相对 url 获得。


推荐阅读