Проблема с отображением картинок

Аватар пользователя univerico univerico 18 сентября в 0:34

Здравствуйте! Возникла проблема с отображением картинок импортированных нод.
Использую полноразмерные изображения около 3-5 мб, но в ноде вывожу миниатюры не более 500 на 500 пикселей.
Потом делаю представление из этих нод.
Некоторые файлы отображаются просто иконками,

как в самих нодах, так и в представлении.

Причем эпизодически и нормально загружается. Потом это частично «проходит». На странице по 20 нод в представлении. Иногда могут и все нормально подгрузиться, особенно на телефоне, а могут только 5-10 нормально. На ноутбуке смотрю в Хроме и в Яндекс браузере, в последнем вообще перестала страница грузиться. В Яндекс браузере на телефоне наоборот получше грузится, но тоже иногда всплывает эта проблема.

Читаю статьи на тему оптимизации.

Думаю о переносе на специализированный хостинг, использование  ImageMagick и т.д.

Ситуация осложняется тем, что ноды импортирую. Файлы загружаю вручную через панель хостинга или ftp.

Импортирование осложняет оптимизацию отображения или я просто что-то делаю не так?

Вопрос по тому, как создаются миниатюры, на каком этапе?

Если в настройках поля поставить максимальное разрешение (точнее его ограничение) и загружать картинку через UI, то при загрузке будет автоматически создаваться миниатюра, которая тоже где-то сохраняется?
А при импорте этого не происходит?

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

В каких папках хранятся миниатюры?

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

Т.е. нужно иметь возможность загружать оригинальные изображения вручную, а ноды импортировать.

UPD: Стало получше и на ноутбуке, и на телефоне после настройки отображения меньшего количства нод на странице. Или возможно просто совпало и просто утром грузится получше.
Сейчас первые 6-7 страниц загружаются нормально, а потом страницы с 7,8 опять глюки.
И еще не всегда иконка вместо файла отображается, иногда просто белый участок незаполненный.
Причем это именно после загрузки сразу многих страниц. После перерыва можно еще страниц 5-6 загрузить нормально.

Лучший ответ

Аватар пользователя VasyOK VasyOK 18 сентября в 17:10
1

feeds-у чтобы импортировать изображение нужен его урл.
У вас это урл того же сайта, что и целевой или откудато извне тяните? Если извне - вполне вероятно не все пройдет идеально.

univerico wrote: Если в настройках поля поставить максимальное разрешение (точнее его ограничение) и загружать картинку через UI, то при загрузке будет автоматически создаваться миниатюра, которая тоже где-то сохраняется?
А при импорте этого не происходит?

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

Миниатюра изображения создается тогда, когда выводится на экран. Даже когда вы ноду редактируете - то видите превьюху. Все миниатюры находятся в [папка файловой системы]/styles/ - вы их можете все удалить и они снова создадутся. Если не создаются - значит сервер неправильно настроен или вы дисковую квоту исчерпали. Изредко возможно, если используете хитрое кеширование, буст, ajax пейджер во views, отложенную загрузку и прочее.

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

Комментарии

Аватар пользователя univerico univerico 18 сентября в 17:07

Спасибо. Тогда напишу коротко и более чётко: до того, как на телефоне перестали грузиться изображения, была мысль, что просто у меня в браузере не грузится или на ноутбуке нужно систему переставлять, так как и другие программы подзависают в последнее время.

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

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

Ноды нужно чтобы создавались при импорте feeds. Миниатюры выводятся в отдельном поле. Т.е. путь к ним можно будет прописать в таблице источнике импорта.

Вопрос в том, можно ли миниатюры как-то создать программно или с помощью существующих модулей.

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

И не только конвертирование и создание миниатюр на сервере рассматриваю, но и какие-то сторонние сервисы, которые подходят в том числе и для хостинга, где NGINX проксирование не поддерживается.

Аватар пользователя VasyOK VasyOK 18 сентября в 17:10
1

feeds-у чтобы импортировать изображение нужен его урл.
У вас это урл того же сайта, что и целевой или откудато извне тяните? Если извне - вполне вероятно не все пройдет идеально.

univerico wrote: Если в настройках поля поставить максимальное разрешение (точнее его ограничение) и загружать картинку через UI, то при загрузке будет автоматически создаваться миниатюра, которая тоже где-то сохраняется?
А при импорте этого не происходит?

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

Миниатюра изображения создается тогда, когда выводится на экран. Даже когда вы ноду редактируете - то видите превьюху. Все миниатюры находятся в [папка файловой системы]/styles/ - вы их можете все удалить и они снова создадутся. Если не создаются - значит сервер неправильно настроен или вы дисковую квоту исчерпали. Изредко возможно, если используете хитрое кеширование, буст, ajax пейджер во views, отложенную загрузку и прочее.

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

Аватар пользователя univerico univerico 18 сентября в 20:34

Спасибо.

У вас это урл того же сайта, что и целевой или откудато извне тяните?

Того же сайта, но из приватной папки. Папка прописана в настройках файловой системы admin/config/media/file-system.

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

Все миниатюры находятся в [папка файловой системы]/styles/

Спасибо большое. Да, они там есть с правами 664.
Попробую остальные способы тоже.

Аватар пользователя VasyOK VasyOK 18 сентября в 21:54
2

Пожалуйста. Рад, что что-то помогло. А может не надо приватную систему? Картинки же показываются всем?