Изменение размера на лету приведет к гораздо большей загрузке ЦП на вашем сервере, чем изменение размера к разным разам за один раз, и сохранение результатов. С другой стороны, изменение размера заранее может привести к тому, что в GridFS будет храниться больший набор данных. Другими словами, это компромисс.
Вы могли бы рассмотреть гибридный подход, когда вы изменяете размер на лету, но сохраняете результаты обратно в GridFS, чтобы вам не нужно было изменять размер одного изображения до заданного размера более одного раза.
Вы также должны знать, что HTML и CSS позволяют использовать различные параметры для управления отображаемым размером изображения. Например:
<img src="/path/to/image.jpg" width="50"/>
В результате изображение масштабируется пропорционально ширине 50 пикселей (во всяком случае, в большинстве современных браузеров). Вы также можете использовать CSS-свойства width
и max-width
для управления размером изображения.
Для себя, не зная об объеме или размере файлов изображений, которые вы будете хранить, я, вероятно, изменил бы размер при добавлении изображений - другими словами, пострадали бы скорость страницы и загрузка ЦП один раз - а затем обслуживать различные размеры из GridFS, используя max-width
для управления размером на экране, если в одном конкретном случае требуется немного другой размер.