Как передать в image filter другой путь до картинки?

node nginx-forum на forum.nginx.org
Пн Ноя 6 00:57:28 UTC 2017


Подскажите можно ли как то передать в image_filter другой путь до картинки
или что то другое придумать?
У меня есть 2 копии картинок, одна оригинальная другая уменьшенная, мне
нужно сделать так что если высота изображения меньше 350px брать ее из папки
/thumb/ для последующей ее обработки в image_filter, а не из папки original.
Все ради того чтобы создавать маленькие копии с копий, а не обрабатывать
большое изображение ради маленькой копии.

На бекенде я проверяю высоту и присваиваю картинке соответствующий route для
nginx, если высота меньше 350px, то к ссылке на картинку я добавляю GET
запрос (route=resizethumb)

Пример url: /original/99/image.jpg?w=300&h=200&route=resizethumb
И нужно чтобы по url выше бралась картинки из /thumb/99/ без изменения URL

В конфиге сделал следующее

location ~* \.(gif|jpg|png)$ {
    if ($arg_route = "resizethumb") { return 410; }
    error_page 410 = @img_resize;
}

location @img_resize {
    # Тут берутся картинки из папки /original/ по ссылке приведенной выше
    # но мне нужно взять картинку из папки /thumb/ и передать ее в
image_filter
    image_filter resize - $arg_h;
}


Как можно это осуществить? Можно ли изменить место расположения файла до
обработке через image_filter?

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,277195,277195#msg-277195



Подробная информация о списке рассылки nginx-ru