AzureReader2无法使用查询字符串

时间:2015-02-18 18:09:48

标签: imageresizer

我在Azure中的私有大块中有图像。

我正在使用Azure Reader 2并且可以像http://localhost:55328/azure/00001/IMG_0001.JPG那样访问图像 - 它工作正常并使用共享访问签名重定向到blob。

但是,如果我尝试调整图片大小,例如IMG_0001.JPG?width = 100& height = 100,我刚拿到404。

单步执行代码,我注意到这一行

if (e.VirtualPath.StartsWith(prefix, StringComparison.OrdinalIgnoreCase) && e.QueryString.Count == 0)
        {
         ....
        }

因此,如果有QueryString,则不会发生处理。

这里调试输出: https://gist.github.com/anonymous/28fd112eec194181baae

提前致谢

1 个答案:

答案 0 :(得分:0)

您的调试误导了您。确实,只有在没有查询字符串时才会发生重定向。当参数时,需要修改blob,这意味着必须代理它。在该场景中的302重定向是不可能的。

AzureReader注册了一个IVirtualImageProvider,ImageResizer在处理所有代理,处理和缓存时会自动使用它。

默认行为是下载,修改和重新提供数据。 302重定向只是对未修改文件的吞吐量进行优化。

注意:

忽略sharedAccessExpiryTime,没有该名称的设置。

如果您要参考代码,最好link to the line in the file on github,否则我们无法轻易找到上下文。在任何github页面上按y即可获得永久链接,然后单击行号(或范围)。