2014-03-06 46 views
1

我们正在使用AzureReader2插件读取blob url和ImageResizer插件以即时重新调整图像大小。带ImageResizer前缀问题的AzureReader2问题

我们的容器的名字是 - 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中使用空前缀吗?

任何意见是有帮助的。

回答

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;他们应该指向您的服务器 - 或指向您的服务器(不是blobstore!)的CDN

+0

你能指点我一些关于如何正确设置blob商店网址的更具体的信息吗? – fordareh

0

这个问题是旧的,但仍然是拿但业的回答说,图像URL应该是:

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配置把下面:

<add name="AzureReader2" prefix="~/" connectionString="DefaultEndpointsProtocol=https;AccountName=my;AccountKey=my endpoint="http://<account>.blob.core.windows.net/" /> 

默认情况下,前缀是“〜/蔚蓝”将其设置为任何它应该是“〜/”

如果您导航到 http://myserverwithimageresizer.com/img/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg?w=500,您应该从blob存储中检索您的图像并调整其大小。