Материал публикуется автоматически, когда размер изображения больше допустимого

Главные вкладки

Аватар пользователя Augustus Augustus 10 декабря 2018 в 15:02

Здравствуйте, такая проблема, при добавлении материала если попытаться в поле Изображение загрузить изображение, больше по размеру чем разрешенное (речь идёт о весе изображения), то выскакивает ошибка о превышении допустимого размера, но материал при этом сам публикуется на сайте автоматически. Дальше больше. Страница редактирования на экране пользователя не обновляется и если уже он сам нажмёт на кнопку "опубликовать", то такой материал опубликуется второй раз, либо выскочит ошибка "Текущие изменения не могут быть сохранены, так как исходное содержание уже было изменено в другом процессе (например, другим пользователем)."

Собственно подскажите, либо как решить этот глюк, либо, что мне даже удобнее, объясните как сделать, чтобы друпал сначала обрезал изображение по установленному размеру (в пикселях) при добавлении, а уж ПОТОМ проверял его вес. При таком подходе, учитывая установленные мной размеры в px, вес всегда получается подходящий. Но друпал сначала смотрит на вес исходного (загружаемого изображения) и по нему делает уже вывод, загружать его или нет и соответственно даже не приступает к его обрезке.

Комментарии

Аватар пользователя marassa marassa 10 декабря 2018 в 19:39

Augustus wrote:

учитывая установленные мной размеры в px, вес всегда получается подходящий

Так не устанавливайте ограничение по весу вообще, и всё.

Аватар пользователя Augustus Augustus 10 декабря 2018 в 21:49

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

Аватар пользователя Augustus Augustus 11 декабря 2018 в 20:54

Отличный модуль, поставил себе, спасибо. Мою проблему с публикацией исправило. Единственный минус, при первичной загрузке если изображение обрабатывалось Друпалом, то размер показывается оригинального, а не обработанного (уменьшенного) изображения, что может сбить с толку.

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

Аватар пользователя Orion76 Orion76 11 декабря 2018 в 23:34
1

имхо, все что Вам нужно, это:
1.Обрезать-маштабировать изображение до определенного размера.
2.Оптимизировать до определенного качества. (https://www.drupal.org/project/imageapi_optimize)

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

Аватар пользователя Augustus Augustus 11 декабря 2018 в 23:40

Так это я понимаю, вопрос в том, как сначала проделать друпалом все эти манипуляции, а потом только выполнить проверку на ограничение по весу? Друпал делает всё наоборот - сначала смотрит на вес, если он превышает предел, то друпал отказывается делать что-либо с фалом.

Аватар пользователя Orion76 Orion76 11 декабря 2018 в 23:58

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

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

Файлы можно хранить (и загружать в браузер) на "внешних" серверах, как на "специальных"(CDN и т.п.) так и на всяких гугл-яндекс-дисках и прочих вэбдавах.
вот модуль, который подменяет урл файла на внешний (CDN).: https://www.drupal.org/project/cdn
Останется только подобрать способ загружать эти файлы на внешний сервер.

Аватар пользователя Augustus Augustus 12 декабря 2018 в 0:10

Это всё к моему вопросу не относится.
Ладно, т.к. баг в шапке мне исправить помогли, за что спасибо большое,то тему я закрываю как решенную, про другие вопросы отдельно если что создам.