0

我正在使用ImageResizerRemoteReader 插件在我的站点中显示外部图像。

我有两个问题:

1-当我使用方法生成图像源路径时,它会返回一个这样RemoteReaderPlugin.Current.CreateSignedUrl的编码 url 。如您所见,网址如此之长,是否有任何选项可以生成较小的网址(例如TinyUrlgoo.gl所做的)?

2- 如何检测源 url 中是否不存在外部图像来管理和阻止图像显示在我的网站上?RemoteReader 中是否有任何选项?

编辑:我也测试过RemoteReaderPlugin.Current.FileExists方法,但它总是返回false.

4

1 回答 1

1

1) 制作短 URL 意味着将长 URL 存储在数据库中。数据库很慢,并且增加了故障点。这就是为什么我们经常在整个网络上看到断开的短链接。

您可以使用Config.Current.Rewrite来实现自己的短链接。但它会更慢(网络延迟),降低可扩展性,并且如果您的数据库不顺利,图像将被破坏。

2) 只需发出HTTP HEAD 请求以查看它是否存在。请记住,HTTP 请求很慢。在图像请求期间执行此操作将使其速度减慢两倍。在每个图像的页面渲染期间执行此操作会非常慢。尝试在最初获取 URL 并缓存结果时执行此操作 - 如果可以的话。即时执行此操作不是一个好主意。

RemoteReaderPlugin.Current.FileExists 仅检测路径是否采用远程 URL 语法。它实际上并没有通过 HTTP 请求检查是否存在(参见 #2)。

于 2013-10-11T16:04:47.550 回答