2009-05-27 4 views

ответ

1

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

Я не думаю, что вам нужно беспокоиться о сохранении изображений в БД, особенно если вы используете SQLServer 2008 (и вы используете новый тип FILESTREAM).

+0

Спасибо за ваш ответ. Я хочу знать, загружен ли пользователь размером с фото 400x300. вы будете менять размер фотографий до 128x128? –

+0

@ Gordian: Да, я бы изменил размер до 128x128, прежде чем я его сохраню. –

0

Определенно это зависит от количества изображений, которые необходимо сохранить.

Если вы храните их в файловой системе, вам просто нужно сохранить URL-адрес или местоположение изображения в базе данных. Чтобы изменить размер, вы можете сделать это в режиме реального времени, используя компоненты для достижения изменений в зависимости от языка, который вы используете. Для .NET ASPjpeg очень хороший, но вы можете манипулировать изображением с помощью класса System.Drawing.Imaging. Нет необходимости манипулировать полями данных базы данных или полями BLOB.

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

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

Смежные вопросы