我在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'));
)吗?
感谢。
答案 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的生命周期内保持删除状态。