我们正在使用AzureReader2插件来读取blob网址和ImageResizer插件,以便在飞行中重新调整图片大小。
我们的容器名称是 - img
AzureReader2前缀名称也是 - img
<add name="AzureReader2" prefix="~/img/" connectionString="DefaultEndpointsProtocol=https;AccountName=my;AccountKey=my endpoint="http://<account>.blob.core.windows.net/" />
因此,图片网址如下所示:
HTTP://.blob.core.windows.net/img/img/1GKS2EEF2BR171185/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg W = 500
img重复两次。
有没有办法解决这个问题?
我们可以在ImageResizer中使用空前缀吗?
任何建议都有帮助。
答案 0 :(得分:1)
根据您提供的示例网址,我认为您误解了这个过程。 The cloud architecture page在这里很有帮助。
您的图片网址不应为http://myaccount.blob.core.windows.net/img/img/1GKS2EEF2BR171185/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg?w=500
没有CDN,它应采用http://myserverwithimageresizer.com/img/img/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg?w=500
Azure的Blob商店不知道如何处理?w=500
。您的HTML网页中的网址永远不会指向blob.core.windows.net
;它们应指向服务器 - 或指向服务器的CDN (而不是blobstore!)。
答案 1 :(得分:0)
这个问题已经很久了,但是Nathanael的答案说图像网址应该是:
http://myserverwithimageresizer.com/img/img/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg?w=500
或者例如,如果您在本地运行:
http://localhost:<PORT>/img/img/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg?width=200
要使用图像缩放器,您应该指向您的网站,然后在web.config文件中设置对blob存储的引用。如果它直接访问blob存储,则图像将无法调整大小。
要在web config中将前缀设置为空,请输入以下内容:
<add name="AzureReader2" prefix="~/" connectionString="DefaultEndpointsProtocol=https;AccountName=my;AccountKey=my endpoint="http://<account>.blob.core.windows.net/" />
默认情况下,前缀为&#34;〜/ azure&#34;把它设置为什么它应该是&#34;〜/&#34;
如果你导航到这应该这样做
http://myserverwithimageresizer.com/img/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg?w=500
您的图像是从blob存储中检索并调整大小的。