В течение многих лет велись большие споры о том, хранить ли изображения в самой БД. Я думаю, что большая часть этого закончена, и консенсус быстро движется к тому, чтобы «сохранить его в файловой системе со ссылкой» ... вы можете легко масштабировать это, но масштабирование БД намного сложнее. Все это хорошо для меня, потому что я всегда думал, что парни из DB были сумасшедшими.
Для передачи по проводу я бы рекомендовал PNG-изображение, в зависимости от того, какое оно изображение (PNG-формат сжат и без потерь).
Способ хранения файла будет зависеть от структуры вашего приложения. Вероятно, вы можете обойтись большими папками, полными сгенерированных MD5 имен файлов, чтобы предотвратить столкновение. Вы, вероятно, не хотите хранить что-либо последовательно, так как это позволяет кому-то войти и просто взять весь набор. Вы также можете хранить автоматически сгенерированные имена файлов в папках с идентификаторами пользователя ... это ваше дело.
Если не требуется высокий уровень безопасности, вы можете просто хранить их все на веб-сервере и отсылать URL-адреса, что делает файлы легкодоступными. Если вам нужно сохранить их в тайне, вы можете отправить их обратно с помощью PHP. Убедитесь, что вы используете Etags или какой-либо другой механизм кэширования.
Добавлено:
Кстати, часть PHP / MySql на самом деле довольно проста. В общем, опытный профессионал может сделать это за пару дней - недельные вершины.
А вот кодер PN3 AS3, который является частью AS3CoreLib