Хочется сделать статическую раздачу файлов, но с произвольными именами
Igor Sysoev
is at rambler-co.ru
Fri Nov 13 23:37:54 MSK 2009
On Fri, Nov 13, 2009 at 11:15:55PM +0300, Vitaly Puzrin wrote:
> Есть форум, куда юзеры льют картинки и прочую лабуду. Естественно,
> каждый называет файлы "как умеет". Сейчас "настоящие" имена хранятся
> в базе, а на диске имена содержат только циферки. Все раздается
> скриптом - генерятся хедеры с правильным именем, и делается
> accel-redirect на бинарник.
>
> Хочется вызов скрипта исключить совсем. Но хранить произвольные имена
> в файловой системе - стремно. Могут и на японском что-нибудь запихать,
> и файлы с одинаковыми именами.
>
> Существует ли какое-то красивое решение? Пока думал, что можно на
> вебстраничках нагенерить хитрых ссылок, где не только путь к
> бинарнику, но и желаемое имя, под которым надо отдать. А дальше
> встроенным перлом прямо в nginx заголовки составлять и доклеивать
> блоб. Не уверен, что это самый разумный метод. Может кто подскажет
> получше?
Для ссылок вида "/files/1/2/345678?name=хитрое%20японское%20имя" можно
без перла:
location /files/ {
root /path/to/files;
add_header Content-Disposition 'attachment; filename="$arg_name"';
}
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list