У меня есть общий вопрос об этом.
Когда у Вас есть галерея, иногда люди должны загрузить 1000-е изображений сразу. Скорее всего, это было бы сделано через .zip файл. Что лучший способ состоит в том, чтобы пойти о загрузке этого вида вещи к серверу. Много раз, сервер имеют тайм-ауты и т.д., которые должны составляться. Я задаюсь вопросом, что виды вещей должны я высматривать и что является лучшим способом обработать большую сумму загружаемых изображений.
Я предполагаю, что Вы позволили бы пользователю загружать zip-файл (предполагающий, что тайм-аут не производит Вас), и этот zip-файл загружается на определенный каталог, позволяет, предполагают в этом случае, что каталог создается для каждого пользователя в системе. Вы затем разархивировали бы каталог на сервере и просканировали бы папку пользователя для любых каталогов, содержащих .jpg или .png или .gif файлов (и т.д.). и затем импортируйте их в таблицу соответственно. Я предполагаю маркированный именем папки.
С какими серверными проблемами я мог столкнуться?
Я знаю, что может быть много проблем. Даже общие представления были бы, мог так, я могу затем исследовать далее.Спасибо!
Кроме того, я запрограммировал бы в Ruby on Rails, но я думаю, что этот вопрос применяется через любой язык.
Нет причин, по которым вы не могли бы справиться с такими вещами с помощью веб-приложения. Есть пара отличных компонентов, которые могут быть полезны для этого:
Причина, по которой они полезно то, что в первую очередь он использует флеш-компонент для обработки загрузок, поэтому вы можете выбирать группы файлов из окна файлового браузера (при условии, что никто не собирается индивидуально выбирать тысячи изображений ...!), а с помощью plupload, перетаскивание также поддерживается вместе с другими платформами.
После того, как ваш интерфейс заработает, серверная часть должна уметь обрабатывать отдельные загрузки, связывая их с какой-то учетной записью пользователя, и оттуда все должно быть довольно просто.
Что касается проблем на стороне сервера, это действительно большой вопрос, зависящий от того, сколько людей будет использовать приложение одновременно, размера изображений и любой обработки, которая будет выполняться после. Помните, что файлы хранятся во временном месте, пока сценарий их обрабатывает, и либо удаляются по завершении, либо копируются в окончательное место хранения вашим сценарием, поэтому накладные расходы на пространство / память / тайм-ауты могут быть проблемой.
Если изображения огромные по размеру, скажем raw или tif, тогда такие вещи все равно могут работать с фрагментированной загрузкой, но реализация какой-то FTP-загрузки может быть проще. Это немного расплывчатый вопрос, но его должно хватить, чтобы вы начали;)
загляните на http://gallery.menalto.com
там есть дюжина методов для загрузки картинок в галереи.
Вы можете выбрать тот, который подходит именно вам.
Для такого количества изображений это должно быть серьезное приложение... что дает вам право предложить часть программного обеспечения, работающего на клиенте (что-то вроде yahoo mail/picassa), которое позаботится об "управлении" (прерывания сети/поддержка возобновления и т.д.) загрузкой изображений.
На стороне сервера вы можете обрабатывать их по одному за раз (предполагая, что ваш клиент отправляет их таким образом)... таким образом, все будет просто.
У вас есть клиентское приложение или некоторый код Ajax, который отправляет изображения одно за другим, предотвращая тайм-ауты. В качестве альтернативы, если это недоступно для общественности. FTP все еще работает ...
Я бы предложил клиентское приложение (возможно, написанное на AIR или Titanium) или сообщающее вашим пользователям, что такое FTP.
deviantArt.com, например, предлагает FTP в качестве метода загрузки для платных подписчиков, и он работает очень хорошо.
У Flickr для этого есть собственное приложение. "Загрузчик Flickr".