从 Server Blazor 客户端加载图像
Loading images from Server Blazor client-side
几天来我一直在测试 Blazor 客户端,并且已经让文件上传系统正常工作,但是当我尝试以 "<img src="~/uploads/images/file1.jpg">"
[=17] 的方式从服务器加载图像时=] 来自客户端的标记图像加载失败。服务器是 运行 作为一个项目
https://localhost:5001
并且客户端在 IISExpress 模式下 运行
https://localhost:44306
我怀疑正在发生的事情是图像试图从客户端项目端口而不是服务器项目端口加载。如何让所有图片请求都路由到存储图片的服务器地址?
假设您的项目今天投入生产,它们将托管在两个不同的站点上是否准确? (例如 myblazorapp.com 和 api.myblazorapp.com)。如果是这样,那么相对路径只会把罐头踢到路上。使用配置来存储图像目录的完全限定路径。
但是,如果您的服务器端代码是为此 Blazor 应用而创建的,那么您可能选错了 hosting model。 Hosted
模型允许您使用 ASP.NET 核心应用程序将 Blazor 应用程序服务器提供给客户端。这也意味着服务器的资源、apis 和静态文件都将通过相对 url 可用。
几天来我一直在测试 Blazor 客户端,并且已经让文件上传系统正常工作,但是当我尝试以 "<img src="~/uploads/images/file1.jpg">"
[=17] 的方式从服务器加载图像时=] 来自客户端的标记图像加载失败。服务器是 运行 作为一个项目
https://localhost:5001
并且客户端在 IISExpress 模式下 运行
https://localhost:44306
我怀疑正在发生的事情是图像试图从客户端项目端口而不是服务器项目端口加载。如何让所有图片请求都路由到存储图片的服务器地址?
假设您的项目今天投入生产,它们将托管在两个不同的站点上是否准确? (例如 myblazorapp.com 和 api.myblazorapp.com)。如果是这样,那么相对路径只会把罐头踢到路上。使用配置来存储图像目录的完全限定路径。
但是,如果您的服务器端代码是为此 Blazor 应用而创建的,那么您可能选错了 hosting model。 Hosted
模型允许您使用 ASP.NET 核心应用程序将 Blazor 应用程序服务器提供给客户端。这也意味着服务器的资源、apis 和静态文件都将通过相对 url 可用。