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

时间:2016-12-07 16:37:37

标签: c# azure imageresizer azure-functions

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

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

由于我使用的是Azure功能,因此我无法访问web.config来禁用此限制。我可以通过代码禁用此限制(可能是curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Opera 11')); )吗?

感谢。

1 个答案:

答案 0 :(得分:5)

通常你会删除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的生命周期内保持删除状态。