ImageResizer:禁用调整大小的大小限制

chr*_*rjs 1 c# azure imageresizer azure-functions

我在Azure函数中使用ImageResizer(https://imageresizing.net/)库,它返回存储在Azure存储帐户中的已调整大小的图像.

到目前为止它的工作正常,但它有限制调整到最大3200像素.(https://imageresizing.net/docs/v4/plugins/sizelimiting)

由于我使用的是Azure功能,因此我无法访问web.config来禁用此限制.我可以通过代码(可能ResizeSettings)禁用此限制吗?

谢谢.

mat*_*ewc 5

通常,您将删除SizeLimiting插件,Application_Start但我们目前不会在Azure Functions中为您提供任何挂钩来运行启动代码.我们有一个问题追踪这里我们回购.

但是,在进行任何图像处理之前,您仍然可以删除功能代码中的插件,例如:

using ImageResizer;
using ImageResizer.Plugins.Basic;

public static void Run(..., TraceWriter log)
{
    RemoveSizeLimiter(log);

    ...
}

private static void RemoveSizeLimiter(TraceWriter log)
{
    var config = ImageResizer.Configuration.Config.Current;
    var sizeLimiter = config.Plugins.Get<SizeLimiting>();
    log.Info("SizeLimiter installed: " + (sizeLimiter != null).ToString());

    if (sizeLimiter != null)
    {
        log.Info("Uninstalling SizeLimiter");
        sizeLimiter.Uninstall(config);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果多次运行此功能,您将看到Config.PlugIns第一次从静态集合中删除插件,并在App Domain的生命周期内保持删除状态.