Re: Сохранение файлов после image filter

Alexander Azarov azarov на aha.ru
Вс Апр 24 18:41:44 MSD 2011


24.04.2011, в 13:42, Petrovich написал(а):

> У меня пользователи размещают
> множество постов в котором в качестве
> превью указывают ссылку на
> изображение. Чтобы защититься от
> удаления картинке на других хостингах,
> хочу автоматически переносить
> картинки к себе и уменьшать их до 250x250
> 
> В код движка встроил функциональность,
> чтобы если есть ссылка на картинку
> http://somesite.ru/picture.jpg , то она заменяется на
> images.mysite.ru/250x250/somesite.ru/picture.jpg
> 
> Запустил nginx c таким конфигом
> 
> location /250x250 
>        {
>            root /data/cached;
>            error_page              404 = /fetch$uri;
>        }
> 
>        location ~ ^/fetch/(\d+)x(\d+)/(.*)$ 
>        {
>            internal;
> 
>            image_filter $1 $2;
>            proxy_pass              http://$3;
>            proxy_store             on;
>            proxy_store_access      user:rw  group:rw  all:r;
>            proxy_temp_path        /data/cached/temp/;
>            alias                  /data/cached/$1x$2/$3;
>        }
> 
> Все работает, но вот только картинки
> сохряняются в оригинальном размере,
> видно image_filter примеряется после proxy_store.
> 
> Как сделать, чтобы сохранялись уже
> отресайзенные картинки?

Два location. В одном image_filter , а второй делает proxy_pass на первый и кэширует результат.




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