未调用插件

Plugin not called

我有一个自定义插件,用于通过 LDAP 提供图像 IPluginIVirtualImageProvider

public bool IsPathVirtual(string virtualPath)
    {
        return virtualPath.StartsWith(VirtualFilesystemPrefix, StringComparison.OrdinalIgnoreCase);
    }


public bool FileExists(string virtualPath, System.Collections.Specialized.NameValueCollection queryString)
    {            
        String username = Path.GetFileNameWithoutExtension(virtualPath);
        return IsPathVirtual(virtualPath) && HasPhoto(username);
    }

如果我使用以下命令访问我的服务器 url

http://localhost:7805/ad/username.png?w=100 --> 200 张图像从 LDAP

一切正常 然而,如果没有查询字符串,则不会调用插件 http://localhost:7805/ad/username.png --> 404 代码未调用

这就是 imageresizer 的工作方式吗?

是的 - 至少在 v3 中。

在 ImageResizer v4 中,您可以实现 IVirtualImageProviderVpp 以使这些文件可以在 ImageResizer 之外访问(即,没有查询字符串)。

您可以选择从 ImageResizer.Storage.BlobProviderBase 继承并覆盖 2 个抽象方法;这条路线以最少的努力提供最多的功能。