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

ImageResizer: Disable size limitation of resizing

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

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

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

谢谢。

通常您会删除 Application_Start 中的 SizeLimiting 插件,但我们目前不会在 Azure Functions 中为您提供 运行 启动代码的任何挂钩。我们的回购中 here 有问题。

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

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);
    }
}

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