我在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
提前致谢
答案 0 :(得分:0)
您的调试误导了您。确实,只有在没有查询字符串时才会发生重定向。当是参数时,需要修改blob,这意味着必须代理它。在该场景中的302重定向是不可能的。
AzureReader注册了一个IVirtualImageProvider,ImageResizer在处理所有代理,处理和缓存时会自动使用它。
默认行为是下载,修改和重新提供数据。 302重定向只是对未修改文件的吞吐量进行优化。
注意:
忽略sharedAccessExpiryTime,没有该名称的设置。
如果您要参考代码,最好link to the line in the file on github,否则我们无法轻易找到上下文。在任何github页面上按y即可获得永久链接,然后单击行号(或范围)。