2016-12-07 3 views
0

Я использую библиотеку ImageResizer (https://imageresizing.net/) в функции Azure, которая возвращает измененные изображения, хранящиеся на учетной записи Azure Storage.ImageResizer: отключить ограничение размера для изменения размера

Его работоспособный до сих пор, но он имеет ограничение на изменение размера до 3200 пикселей. (https://imageresizing.net/docs/v4/plugins/sizelimiting)

Поскольку я использую функцию Azure, я не могу получить доступ к web.config, чтобы отключить это ограничение. Могу ли я отключить это ограничение с помощью кода (возможно, ResizeSettings)?

Спасибо.

ответ

3

Как правило, вы удаляете плагин SizeLimiting в Application_Start, но в настоящее время мы не нажимаем на крючки в 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); 
    } 
} 

Если запустить эту функцию несколько раз, вы увидите, что плагин будет удален из static Config.PlugIns в первый раз и остается удаленным для жизни домена приложения.