修改
我让它工作,但我不得不添加RemoteReader插件。当我从我的项目中删除AzureReader2插件时,它仍然有效,但是AzureReader2插件有什么好处呢?
原始问题
我已完成了大纲here(包括评论)的所有内容,但似乎无法弄清楚为什么我无法使用此imageresizer插件动态调整图像大小。
这是我在元素下的web.config条目:
<add name="AzureReader2" prefix="~/img/" connectionString="DefaultEndpointsProtocol=https;AccountName=[Account];AccountKey=[key]" endpoint="http://<account>.blob.core.windows.net/" />
我已将我的容器设置为'img'。
当我转到此网址进行测试时:
https://<account>.blob.core.windows.net/img/image.jpg?width=50
图片显示但只是常规尺寸。我也尝试在本地和现场AWS上运行它,但仍然没有调整大小:(
答案 0 :(得分:4)
ImageResizer库允许提供图像的修改版本(调整大小,裁剪,旋转,带水印等)。 AzureReader2是一个插件,允许从Azure Blob(https://<account>.blob.core.windows.net
)而不是磁盘中获取未修改的图像。
因此,应该用于获取图像修改版本的URL是安装了ImageResizer库的应用程序URL,而不是Azure Blob URL(在您的示例中为https://<account>.blob.core.windows.net/img/image.jpg?width=50
)。
修改强>
AzureReader2插件允许您从Azure Blob中读取图像,就像它们保存在磁盘中一样。如果应用程序的构建方式是所有映像都来自Azure Blob,那么您可以拥有两个独立团队:一个管理您的映像(以及其他媒体,如CSS)和一个管理您的代码。使用这种方法,AzureReader2插件将非常方便。
我希望这会有所帮助。
答案 1 :(得分:2)
经过几个小时的游戏,我终于明白它是如何运作的。我没有意识到前缀是你在实际URL的末尾而不是BLOB存储URL。我最终得到了
http://<account>.azurewebsites.net/img/img/image.jpg?width=50
这不符合我原来的想法:
https://<account>.blob.core.windows.net/img/image.jpg?width=50
对于任何正在查看此内容的人来说,前缀是在实际网站的URL而不是BLOB商店中添加的!