2013-09-05 2 views
0

У меня есть огромное изображение, которое будет загружено на мой сервер. Ширина и высота, например: 2000x2000. У меня есть несколько мест в моем коде, где мне нужно, чтобы изображение было 1000x1000, 250 x 110 или как 100 x 50. Когда они загружают изображение, я должен сделать ASP автоматически re size для этих размеров и сохранить их на моем веб-сервере, например image-250x110, image-1000x1000, image-original и image-100x50, или это просто, чтобы просто получить исходное изображение и размер на лету через затем покажите его пользователям. Я спрашиваю об этом, потому что я волнуюсь, что, если слишком много людей отправятся на ваш сайт, размер оригинального огромного изображения все время потребует много вычислительной мощности и замедлит работу приложения. Или что-то подобное было бы хорошо: http://www.hanselman.com/blog/NuGetPackageOfWeek11ImageResizerEnablesCleanClearImageResizingInASPNET.aspxЗагрузка изображений Изменение размера

ответ

1

Возможно, вы захотите изменить размер изображения при его загрузке с момента изменения размера изображения 2000 на 2000 пикселей, что может потребовать 2 секунды, даже на быстром сервере. Это задержка, которую ваши пользователи вряд ли оценят.

+0

. ImageResizer, который он опубликовал, изменяет размеры изображений и кэширует их, и он делает то же самое или лучше, чем «Сохранить для Интернета» в Photoshop. Таким образом, изображение 2000px будет подано как 250x110 как <30k. – MikeSmithDev

+1

ImageResizer, похоже, делает хорошую работу по изменению размера. И кеширование может быть хорошим компромиссом между изменением размера после загрузки и на лету. Однако, если у вас есть страница со 100 изображениями, которые не кэшируются в требуемом размере - по какой-либо причине - и все они занимают около 1 секунды, чтобы в среднем изменить размер, то это приведет к потере вашего сервера. Кэширование не всегда достаточно. – Codo

+0

Это всегда будет зависеть от приложения и цели.Иногда одной версией и изменением размера/кэшированием является решение, иногда это изменение размера при загрузке + сохранение нескольких версий. Он может сделать оба, как я указал в своем ответе. Но у вас есть хороший момент. – MikeSmithDev

1

Что вы вывесили, ImageResizer, будет вашим лучшим решением, по многим причинам, в том числе:

  1. Там много потенциальных проблем при написании собственный ресайзер, как указано в 20 Image Resizing Pitfalls, включая проблемы с производительностью и стабильностью.
  2. Если вы перепроектируете свой сайт и хотите изменить эти размеры изображения ... это будет болезненно.
  3. С ImageResizer у вас есть только одно изображение - хорошее большое оригинальное изображение. Все последующие версии обслуживаются (и кэшируются) через вызов URL. Обратите внимание, что для кэшируемой версии ImageResizer требуется лицензия.
  4. ImageResizer, скорее всего, сделает лучшую работу, изменяя размеры изображений, чем ваши, как по качеству, так и по размеру файла, а также с фильтрами, водяными знаками и другими функциями.
  5. Изменение размера на лету - очень плохой вариант, так как он будет потреблять процессор.
  6. Если вы не можете оплатить кешируемую версию, вы можете использовать ImageResizer для изменения размера изображений при загрузке и сохранения трех версий или около того изображений, которые вы хотите.

Я использовал оба метода - написал свой собственный и использованный ImageResizer ... ImageResizer - это путь, на мой взгляд.

+0

Теперь вот в чем проблема: мне нужно выложить 300 долларов за изображение, которое было бы неплохой инвестицией, но, к сожалению, мне нужно определить, будет ли сайт, который я создаю, работать в longrun и посмотреть, будет ли это выгодно. –

+0

@MohamadBataineh бесплатная версия работает так же, как и обычная, за исключением того, что она будет обрабатывать «на лету», которая может иметь проблемы с производительностью для веб-сервера. – MikeSmithDev

+0

@MohamadBataineh plus вы можете просто использовать ImageResizer для изменения размера изображений при загрузке, как вы хотели, а затем просто обслуживать эти статические файлы. – MikeSmithDev

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