Есть ли способ уменьшить масштаб изображения, чтобы время загрузки не зависало - PullRequest
0 голосов
/ 25 июля 2011

Я пишу приложение для галереи, которое извлекает изображения из RSS-канала, поэтому редактирование изображений напрямую невозможно.

К сожалению, некоторые галереи довольно большие, потому что файлы были загружены в большом масштабе.

Есть ли способ убедиться, что изображения загружены, чтобы они загружались с приемлемым размером, с помощью javascript / jquery?

Спасибо за вашу помощь, как всегда!

Ну и еще - если я связываю эти изображения непосредственно с rss на сайт, с которого они исходят, скажем, через RSS-канал Google, может ли это вызвать у меня какие-либо проблемы с загрузкой нескольких изображений с их сайта?

Ответы [ 6 ]

1 голос
/ 25 июля 2011

То, что вы запрашиваете, - это работа на стороне сервера. jQuery в клиентском браузере может работать с изображениями только после их получения в браузере. Чтобы загрузить изображения меньшего размера, вам необходимо:

1) Узнайте, как запрашивать меньшие изображения с сайта, а не большие размеры. Например, если канал RSS был с фото-сайта, такого как Smugmug, URL-адреса изображений можно изменить, чтобы запросить меньший размер.

2) Измените сервер для поддержки запроса на меньший размер (я полагаю, это не вариант для вас).

Будет ли то, что вы делаете, доставить вам неприятности, зависит от большего количества деталей того, что вы делаете. Сайт в Интернете с общедоступными изображениями и общедоступным RSS-каналом разрешает их добросовестное использование, но не допускает неограниченного использования в любых целях. Нам нужно знать гораздо больше подробностей.

1 голос
/ 25 июля 2011

Только с javascript / jquery, нет.

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

Так что ваш скрипт на стороне клиента будет выглядеть примерно так:

$("#myImgTag").attr( 'src', 'http://yourserver.com/getRSSimage.php?url=google.com/rss/reallyBigImage' );

Что касается законности прямых ссылок, то это законная серая зона. Если вы попытаетесь заявить, что изображения принадлежат вам, то да, это незаконно, однако ясно показывает, откуда эти изображения были получены, и все это обязательно считается, что это нормально, особенно если вы не зарабатываете на этом деньги.

1 голос
/ 25 июля 2011

Есть ли способ убедиться, что изображения загружены, чтобы они загрузить в разумных размерах с помощью javascript / jquery?

нет

Нет

если я связываю эти изображения напрямую с rss на сайт, то они произошел от, скажем, RSS-канал Google, может ли это посадить меня в любой проблемы с загрузкой изображений с их сайта?

Да

0 голосов
/ 25 июля 2011

Другие ответы верны в том смысле, что оптимизация изображения должна выполняться на стороне сервера.Однако есть некоторые инструменты, которые могут выполнить эту работу за вас, которые позволят вам обслуживать оптимизированные изображения, просто изменив src изображения, который вы назначаете через JS.

Для примера рассмотрим http://www.punypng.com/api.

Обратите внимание, что это не идеальный вариант, поскольку вы используете ресурсы / и т. Д. Внешнего сервера для обслуживания изображений.

0 голосов
/ 25 июля 2011

Если галерея всегда использует один и тот же канал RSS, вы можете изучить масштабирование и хранение изображений на сервере. Когда пользователь посещает вашу галерею, можно проверить, доступно ли «миниатюра», и загрузить ее. Для этого потребуется немного JavaScript / AJAX, и вам придется написать код для масштабирования и хранения изображений.

Это действительно не идеально, хотя. Масштабирование и хранение изображений требует значительных ресурсов процессора и памяти. Если вы обслуживаете много пользователей и много изображений, это не будет хорошо масштабироваться. Я не вижу никаких проблем с тем, что вы вытаскиваете много изображений с сервера ... вот для чего они нужны? Просто убедитесь, что вы не тратите впустую свои запросы и соблюдаете пропускную способность сервера.

0 голосов
/ 25 июля 2011

Краткий ответ: нет, не совсем.даже логически, такое преобразование должно произойти где-то, и вы должны сделать это с оригиналом.В таком случае, поскольку вы все равно должны загрузить оригинал, нет смысла изменять его размер.А что касается хотлинкинга, я не думаю, что это незаконно, но сайт, с которого вы ссылаетесь, будет вас ненавидеть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...