Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   NGINX создание размеров на лету. (http://www.flasher.ru/forum/showthread.php?t=202603)

AlexCooper 26.07.2013 17:44

NGINX создание размеров на лету.
 
Здравствуйте.
Хочу перенастроить боевой сервер на отдачу картинок nginx'ом с ресайзингом и кешированием на лету. То-есть на сервере храниться оригинал, к примеру по адрессу
Код:

http://dev.net/image/original.jpg
Возможно ли сделать к примеру так, чтобы при переходе по ссылке
Код:

http://dev.net/image/0x0/200x200/100х100/original.jpg
выдавалась картинка размером 100х100 которая отображала в себе изображение квадрата пикселей от 0х0 до 200х200 с проверкой на корректные варианты размеров с последующим кешированием результатов. Правда не знаю как защититься от атаки в случаях смещения отображаемой области. Суть в том чтобы с флеша вообще убрать порезку изображений, а на сервер отправлялась сгенерированная ссылка с настройками какую-область отображать в превью оригинального изображение. Что посоветуете? Сейчас система генерит три отдельных размера и сохраняет оригинал, хотелось бы убрать эту кашу.

Добавлено через 3 минуты
Статьи нашел как сделать кеширование с ресайзом на лету. А вот как с просчетом начальной и конечной зоны отображениянет , или все же нужно будет делать два изображения физически, один оригинал и 1 самый большой квадрат для превьюшек и дальше уже nginx будет этот квадрат ресайзить?

maxkar 26.07.2013 17:56

А начальная и конечная зона - в официальной документации. Вас image_filter crop интересует. Ну и URL ваш нужно соответствующим образом распарсить. Вроде бы и crop, и resize можно в одной команде. Если нет - нужно на себя тогда делать proxy pass (т.е. со scale на resize).

AlexCooper 26.07.2013 18:34

Цитата:

Сообщение от maxkar (Сообщение 1142024)
А начальная и конечная зона - в официальной документации. Вас image_filter crop интересует. Ну и URL ваш нужно соответствующим образом распарсить. Вроде бы и crop, и resize можно в одной команде. Если нет - нужно на себя тогда делать proxy pass (т.е. со scale на resize).

Хм.. не увидел как задавать начальную позицию. Если начало смещено в 20х30. С nginx'ом работал только по мануалам если честно очень стрёмно браться за дело.

maxkar 26.07.2013 19:22

Да, это я виноват - не дочитал. Значит нужен какой-нибудь простенький сервер, который умеет делать crop. И на него проксировать запрос с нужными параметрами. А потом уже модулем nginx'а ресайзить. Или просто проксировать а от nginx'а добавить кэширование результатов

bifidokk 27.07.2013 12:46

средствами пхп же можно подрезать
http://deepliquid.com/content/Jcrop_...on_Theory.html


Часовой пояс GMT +4, время: 17:24.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.