Лучшая практика для загрузки многих (2000 +) изображения к серверу

У меня есть общий вопрос об этом.

Когда у Вас есть галерея, иногда люди должны загрузить 1000-е изображений сразу. Скорее всего, это было бы сделано через .zip файл. Что лучший способ состоит в том, чтобы пойти о загрузке этого вида вещи к серверу. Много раз, сервер имеют тайм-ауты и т.д., которые должны составляться. Я задаюсь вопросом, что виды вещей должны я высматривать и что является лучшим способом обработать большую сумму загружаемых изображений.

Я предполагаю, что Вы позволили бы пользователю загружать zip-файл (предполагающий, что тайм-аут не производит Вас), и этот zip-файл загружается на определенный каталог, позволяет, предполагают в этом случае, что каталог создается для каждого пользователя в системе. Вы затем разархивировали бы каталог на сервере и просканировали бы папку пользователя для любых каталогов, содержащих .jpg или .png или .gif файлов (и т.д.). и затем импортируйте их в таблицу соответственно. Я предполагаю маркированный именем папки.

С какими серверными проблемами я мог столкнуться?

Я знаю, что может быть много проблем. Даже общие представления были бы, мог так, я могу затем исследовать далее.Спасибо!

Кроме того, я запрограммировал бы в Ruby on Rails, но я думаю, что этот вопрос применяется через любой язык.

5
задан jim 2 June 2010 в 03:10
поделиться

5 ответов

Нет причин, по которым вы не могли бы справиться с такими вещами с помощью веб-приложения. Есть пара отличных компонентов, которые могут быть полезны для этого:

  1. Uploadify (на основе jquery / flash)
  2. plupload (от moxiecode, люди tinymce)

Причина, по которой они полезно то, что в первую очередь он использует флеш-компонент для обработки загрузок, поэтому вы можете выбирать группы файлов из окна файлового браузера (при условии, что никто не собирается индивидуально выбирать тысячи изображений ...!), а с помощью plupload, перетаскивание также поддерживается вместе с другими платформами.

После того, как ваш интерфейс заработает, серверная часть должна уметь обрабатывать отдельные загрузки, связывая их с какой-то учетной записью пользователя, и оттуда все должно быть довольно просто.

Что касается проблем на стороне сервера, это действительно большой вопрос, зависящий от того, сколько людей будет использовать приложение одновременно, размера изображений и любой обработки, которая будет выполняться после. Помните, что файлы хранятся во временном месте, пока сценарий их обрабатывает, и либо удаляются по завершении, либо копируются в окончательное место хранения вашим сценарием, поэтому накладные расходы на пространство / память / тайм-ауты могут быть проблемой.

Если изображения огромные по размеру, скажем raw или tif, тогда такие вещи все равно могут работать с фрагментированной загрузкой, но реализация какой-то FTP-загрузки может быть проще. Это немного расплывчатый вопрос, но его должно хватить, чтобы вы начали;)

2
ответ дан 14 December 2019 в 13:27
поделиться

загляните на http://gallery.menalto.com
там есть дюжина методов для загрузки картинок в галереи. Вы можете выбрать тот, который подходит именно вам.

1
ответ дан 14 December 2019 в 13:27
поделиться

Для такого количества изображений это должно быть серьезное приложение... что дает вам право предложить часть программного обеспечения, работающего на клиенте (что-то вроде yahoo mail/picassa), которое позаботится об "управлении" (прерывания сети/поддержка возобновления и т.д.) загрузкой изображений.

На стороне сервера вы можете обрабатывать их по одному за раз (предполагая, что ваш клиент отправляет их таким образом)... таким образом, все будет просто.

1
ответ дан 14 December 2019 в 13:27
поделиться

У вас есть клиентское приложение или некоторый код Ajax, который отправляет изображения одно за другим, предотвращая тайм-ауты. В качестве альтернативы, если это недоступно для общественности. FTP все еще работает ...

1
ответ дан 14 December 2019 в 13:27
поделиться

Я бы предложил клиентское приложение (возможно, написанное на AIR или Titanium) или сообщающее вашим пользователям, что такое FTP.

deviantArt.com, например, предлагает FTP в качестве метода загрузки для платных подписчиков, и он работает очень хорошо.

У Flickr для этого есть собственное приложение. "Загрузчик Flickr".

1
ответ дан 14 December 2019 в 13:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: