【发布时间】:2021-05-07 03:22:43
【问题描述】:
我有一个网页列表example.com/object/140、example.com/object/141、example.com/object/142、...
并且每个页面都应该有一个特定的背景图片example.com/assets/images/object/140.jpg, example.com/assets/images/object/141.jpg, ...
缺少一些图像,然后我使用默认图像。在这种情况下,当我检查图像是否存在时,我会收到 404 错误。我已经在几页看到there isn't a direct way to avoid this problem。
然后我做了以下事情:我在后端 (C#) 中创建了一个服务来检查文件是否存在 File.Exists(fileName);。这样,我设法在我的本地主机中避免了这个错误。到目前为止一切顺利。
现在我在 Azure 的两个不同服务中发布了我的前端和后端。图像在前端,但文件服务在后端。我的方法不再起作用,因为我无法从后端直接访问前端文件夹。一种解决方案可能是从后端到前端进行 http 调用,但我认为这没有多大意义,它变得太混乱了。
一种选择是在数据库中存储一个带有(不)存在信息的布尔值,但我认为这很容易出现不一致(例如,如果在加载或删除新图像时布尔值没有立即更新) ,即使我每天都要清理它。
还有一个选择是将图像直接存储在数据库中,并将它们与我在每个特定页面中加载的对象的 DTO 一起检索,但我想应该存储仅在 frondend 中显示的图像在前端......不应该吗?
因此:
a) 这些想法是否可以接受?有没有更好的方法来避免这个错误?
b) 另一种可能性:有没有办法从后端访问前端文件夹?我对 Azure 中的发布和工件有点迷失了,我不知道我是否能以某种方式做到这一点。
【问题讨论】:
标签: javascript c# azure