如果我在两个组件上附加 img 标签,我会在图像上收到两个服务器请求吗?

Will I get two server request on an image if I append the img tag on two components?

我需要在一个组件上下载图像(将通过 <img src="path">)并将其发送到另一个组件。我正在考虑使用服务进行通信并将 <img src="path"> 标记附加到第二个组件模板。

我不确定幕后发生了什么,想确认如果我附加标签浏览器是否会再次下载 img 或者知道这是否是在 Angular 中发送图像数据的正确方法.

如何将相同的图像传递给另一个组件并确保我不再请求该资源?

img 标签完全由您的浏览器管理,这意味着您无法控制其行为。

也就是说,浏览器应该有一个缓存系统,所以如果您两次请求相同的图像并且服务器的响应是 304 (Not Modified) 浏览器应该使用缓存。

如果您想确保拥有缓存图像,您可以实现自己的 img 包装组件,该组件将 GET 图像,从中创建一个 blob 并将其注入到img 组件,这样你就可以在专用服务中自己缓存图像 blob。