Как лучше всего загрузить портрет пользователя
Вопрос
Хранится в базе данных или файловой системе?
И мне нужно несколько разных размеров.например 128*128, 96*96, 64*64 и так далее.
Как лучше всего загрузить портрет пользователя?
Решение
Не зная всех ваших ограничений, я бы загрузил изображение размером 128x128, а затем на лету создал бы все остальные портреты.
Я не думаю, что вам нужно беспокоиться о хранении изображений в БД, особенно если вы используете SQLServer 2008 (и используете новый тип FILESTREAM).
Другие советы
Конечно, это зависит от количества изображений, которые вам нужно сохранить.
Если вы храните их в файловой системе, вам просто нужно сохранить URL-адрес или местоположение изображения в базе данных.Чтобы изменить размер, вы можете сделать это в режиме реального времени, используя компоненты, чтобы добиться изменения в зависимости от используемого вами языка.Для .NET ASPjpeg очень хороший вариант, но вы можете манипулировать изображением с помощью класса System.Drawing.Imaging.Нет необходимости манипулировать потоком файлов базы данных или полями BLOB.
С другой стороны, хранение изображений в базе данных может сделать ее слишком большой для резервного копирования или загрузки в зависимости от количества записей, даже если вы работаете с SQL-сервером, но у вас все находится в одном и том же месте.Техническое обслуживание происходит быстрее.
Проблема с хранением изображений в файловой системе заключается в процедуре очистки, если вы удаляете запись, то нужно удалить и изображение в файловой системе, чтобы не хранить мусор.