我很难让ImageResizer的 AzureReader2 插件正常运行。基本上,所有请求都会产生 404 。
以下是情况摘要:
使用以下网址直接请求blob正常工作:
http://ACCOUNTNAME.blob.core.windows.net/media/1004/some-image.jpg
但是,以下网址不工作:
http://localhost/azure/media/1004/some-image.jpg
使用ImageResizer命令追加查询字符串会产生相同的结果。
这是配置:
<resizer>
<diagnostics enableFor="Localhost" />
<plugins>
<add name="MvcRoutingShim" />
<add name="AzureReader2" prefix="~/azure/" endpoint="http://ACCOUNTNAME.blob.core.windows.net/" connectionString="DefaultEndpointsProtocol=http;AccountName=ACCOUNTNAME;AccountKey=ACCOUNTKEY" />
<add name="DiskCache" />
</plugins>
<diskcache dir="~/App_Data/imageresizer" />
</resizer>
我有点失落,非常感谢任何帮助!谢谢!
编辑根据Nathanael的建议,我使用Newtonsoft 6构建了ImageResizer 4,并将以下程序集放在bin文件夹中:
我还删除了&#34; MvcRoutingShim&#34;来自config的插件,因为它是默认安装的。
现在一切都在Umbraco 7网站上使用ImageResizer 4正常工作!
答案 0 :(得分:2)
我的第一个建议是在Newtonsoft.Json上使用程序集绑定重定向,以便您可以升级到ImageResizer 4. Azure经常对其API进行重大更改,而ImageResizer 3不再跟踪这些更改。
如果您愿意从源代码下载和重建ImageResizer,ImageResizer 4也可以与较旧版本的Newtonsoft一起使用。
旧版本的ImageResizer也(错误地)为任何FileNotFoundException返回404 ...如果缺少程序集(如azure SDK),则会发生这种情况。
预编译也会破坏azurereader2 ..
相关: Resizing an image using AzureReader2 results in 404
AzureReader2 not working with querystring
如果以上建议都不起作用,我建议您使用调试器逐步查看源代码,以了解图像提供程序无法正常工作的原因。如果可能的话,首先升级到v4。