我在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
设置为正确吗?它应该是本地网址还是cdn网址?
好的,所以我将ImageResizer和AzureReader2一起部署到我的登台服务器,我将我的图像指向我的登台服务器。当我将前缀设置为~/
时,该网站引发了404错误,并且存在诸如Blob Not Found
之类的消息。主页上的所有图像都在CDN中。当我创建前缀~/azure/
时,它工作正常,所以我不确定这里发生了什么。
我正在查看can架构文档,但我对以下几点感到困惑:
~/azure/
前缀路径的图像,所以当我查看网络选项卡下的chrome控制台时,我看到启动器是我的登台服务器路径,但图像实际上是拉从cdn。对所发生的事情做一个简单的解释会很棒。非常感谢
答案 0 :(得分:1)
如果ImageResizer在localhost上运行(例如),那么您的URL应指向localhost。 Azure没有任何神奇的能力来理解ImageResizer命令并执行它们;您必须与安装了ImageResizer的服务器通信。
您应该使用前缀(例如/ azure /)配置AzureReader2,虽然看起来您已经发现这有用吗?