AzureReader2带有ImageResizer前缀问题

时间:2014-03-06 09:58:54

标签: asp.net-mvc azure imageresizer

我们正在使用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中使用空前缀吗?

任何建议都有帮助。

2 个答案:

答案 0 :(得分:1)

根据您提供的示例网址,我认为您误解了这个过程。 The cloud architecture page在这里很有帮助。

Cloud diagram

您的图片网址不应为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存储中检索并调整大小的。