21.11.2010, 12:46
|
|
NodeJS developer - ушел
|
|
Регистрация: 06.01.2010
Сообщений: 1,022
|
|
Очень нужен совет
Подскажите пожалуйста.
Мне необходимо реализовать сервис с огромным количеством фотографий.
Эти фото будут показываться, только в том случае если человек заплатил за месяц. Столннулся с двумя вопросами, которые не знаю как решить.
1 - Как уменьшать размер фото. Мне очень нравится как сделано вконтакте, но у них используется для этого flash.
2 - Как хранить фото. Как я понял обычно фото хранятся в файлах, но дело в том, что их надо показывать только тем кто заплатил и ограниченное количество.
Подскажите пожалуйста как это сделать.
Последний раз редактировалось mycoding, 21.11.2010 в 13:37.
|
|
21.11.2010, 12:53
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
1. У вконтакта flash используется для сжатия на стороне клиента, т.о. меньше (и быстрее) передается на сервер. Ну а уменьшать стандартно - сохранять в худшем качестве, ресайзить.
2. Хранить в файлах. Можно запретить прямой доступ и "проксировать" обращения к картинкам. Это, правда, не очень оптимально, но для не очень нагруженных проектов и малых файлов пойдет. Ну а если нужно что-то серьезное - можете посмотреть в сторону функций веб-серверов. nginx вроде как умеет отдавать файлы только при выполнении некоторых условий.
|
|
21.11.2010, 13:11
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
простой и незамысловатый способ показа контента по условию.
у вас есть директория со всеми картинками, недоступная веб-серверу
каждый раз когда, какой-то скрипт собирается показать HTML стегом IMG на картинку, то делается следующее:
в какой-то директории, видимой для веб-сервера, создается жесткая ссылка с случайным именем на файл, который требуется показать.
ну, и генерится соответствующий <img>
в итоге веб-сервер спокойно, и незамысловато показывает обычный файл.
но, такую ссылку сможет просмотреть любой человек независимо от кук.
чтобы не тырили для других, надо всего лишь проходить по директории, и чистить картинки старше минуты(или другое время.отталкиваемся от времени за которое ГАРАНТИРОВАННО загрузится страница у пользователся)
захочет пользователь обновить страницу - наделаем новых жестких ссылок
|
|
21.11.2010, 15:12
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
удалено.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Последний раз редактировалось Gozar, 02.02.2011 в 15:10.
|
|
21.11.2010, 15:17
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
удалено.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Последний раз редактировалось Gozar, 02.02.2011 в 15:10.
|
|
21.11.2010, 15:23
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от Gozar
|
нужно ведь всего лишь послать нужный header(блабла картинка)
|
Какой хедер? Location что ли?
|
|
21.11.2010, 15:26
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
удалено.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Последний раз редактировалось Gozar, 02.02.2011 в 15:10.
|
|
21.11.2010, 15:29
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Ну это будет то самое проксирование, о котором я говорил. Минусы такого подхода:
1. Увеличивается нагрузка.
2. Нужно возиться с кеширующими заголовками.
3. Если нужен будет partial content, то это опять же ручной труд.
Если использовать для этих целей средства веб-сервера, то все будет хорошо.
|
|
21.11.2010, 15:29
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
удалено.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Последний раз редактировалось Gozar, 02.02.2011 в 15:11.
|
|
21.11.2010, 16:04
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
|
|
|
|