ImageResizer 不会将本地图片 url 重定向到 azure cdn url?
ImageResizer does not redirect local image url to azure cdn url?
我在 web.config 中配置了以下内容:
<resizer>
<clientcache minutes="1440" />
<plugins>
</plugins>
<plugins>
<add name="AzureReader2"
connectionString="DefaultEndpointsProtocol=https;AccountName=myaccountname;AccountKey=myaccountkey="
endpoint="https://az824306.vo.msecnd.net/"
prefix="~/" />
</plugins>
</resizer>
我在网站的根目录下有一个名为 bdgtpd
的目录,其中有一张图片 40420_1.png
。
我在 azure 上也有这张图片,位于:
https://az824306.vo.msecnd.net/bdgtpd/40420_1.png
最初,我将我的 src 设置为 https://az824306.vo.msecnd.net/bdgtpd/40420_1.png
,但是当我尝试应用 https://az824306.vo.msecnd.net/bdgtpd/40420_1.png?width=300
之类的东西时,它不起作用。
所以我把它设置为:
<img src="~/bdgtpd/40420_1.png?width=300 />
这确实调整了图像的大小,但是当我查看 chrome 控制台时,我可以看到它正在从我的本地文件夹中抓取图像。可能我对AzureReader2插件不太了解,但是看到就想到了:
http://localhost/bdgtpd/40420_1.png?width=300
,这将从 https://az824306.vo.msecnd.net/bdgtpd/40420_1.png
获取图像并应用转换。
我 src
设置正确吗?应该是本地url还是cdnurl?
好的,所以我将 ImageResizer 和 AzureReader2 一起部署到我的暂存服务器,并将我的图像指向我的暂存服务器。当我将前缀设置为 ~/
时,站点抛出 404 错误,并且有 Blob Not Found
等消息。首页的所有图片都在CDN中。当我制作前缀 ~/azure/
时,它工作正常,所以我不确定这里发生了什么。
我正在查看 could 架构文档,但我对一些事情感到困惑:
- 现在我有一个设置了
~/azure/
前缀路径的图像,所以当我查看网络选项卡下的 chrome 控制台时,我看到启动器是我的暂存服务器路径,但图像实际上是从 cdn 中提取的。对正在发生的事情有一个简单的解释会很棒。
- 当我使用clientcache时,如果用户从cdn请求相同的图片,图片是如何传递的?我不确定这是如何工作的?
非常感谢
如果 ImageResizer 在本地主机上是 运行(例如),那么您的 URL 应该指向本地主机。 Azure 没有任何神奇的能力来理解 ImageResizer 命令并执行它们;您必须与安装了 ImageResizer 的服务器通信。
您应该为 AzureReader2 配置一个前缀(例如 /azure/),尽管您似乎已经发现这行得通?
我在 web.config 中配置了以下内容:
<resizer>
<clientcache minutes="1440" />
<plugins>
</plugins>
<plugins>
<add name="AzureReader2"
connectionString="DefaultEndpointsProtocol=https;AccountName=myaccountname;AccountKey=myaccountkey="
endpoint="https://az824306.vo.msecnd.net/"
prefix="~/" />
</plugins>
</resizer>
我在网站的根目录下有一个名为 bdgtpd
的目录,其中有一张图片 40420_1.png
。
我在 azure 上也有这张图片,位于:
https://az824306.vo.msecnd.net/bdgtpd/40420_1.png
最初,我将我的 src 设置为 https://az824306.vo.msecnd.net/bdgtpd/40420_1.png
,但是当我尝试应用 https://az824306.vo.msecnd.net/bdgtpd/40420_1.png?width=300
之类的东西时,它不起作用。
所以我把它设置为:
<img src="~/bdgtpd/40420_1.png?width=300 />
这确实调整了图像的大小,但是当我查看 chrome 控制台时,我可以看到它正在从我的本地文件夹中抓取图像。可能我对AzureReader2插件不太了解,但是看到就想到了:
http://localhost/bdgtpd/40420_1.png?width=300
,这将从 https://az824306.vo.msecnd.net/bdgtpd/40420_1.png
获取图像并应用转换。
我 src
设置正确吗?应该是本地url还是cdnurl?
好的,所以我将 ImageResizer 和 AzureReader2 一起部署到我的暂存服务器,并将我的图像指向我的暂存服务器。当我将前缀设置为 ~/
时,站点抛出 404 错误,并且有 Blob Not Found
等消息。首页的所有图片都在CDN中。当我制作前缀 ~/azure/
时,它工作正常,所以我不确定这里发生了什么。
我正在查看 could 架构文档,但我对一些事情感到困惑:
- 现在我有一个设置了
~/azure/
前缀路径的图像,所以当我查看网络选项卡下的 chrome 控制台时,我看到启动器是我的暂存服务器路径,但图像实际上是从 cdn 中提取的。对正在发生的事情有一个简单的解释会很棒。 - 当我使用clientcache时,如果用户从cdn请求相同的图片,图片是如何传递的?我不确定这是如何工作的?
非常感谢
如果 ImageResizer 在本地主机上是 运行(例如),那么您的 URL 应该指向本地主机。 Azure 没有任何神奇的能力来理解 ImageResizer 命令并执行它们;您必须与安装了 ImageResizer 的服务器通信。
您应该为 AzureReader2 配置一个前缀(例如 /azure/),尽管您似乎已经发现这行得通?