Здравствуйте, такая проблема, при добавлении материала если попытаться в поле Изображение загрузить изображение, больше по размеру чем разрешенное (речь идёт о весе изображения), то выскакивает ошибка о превышении допустимого размера, но материал при этом сам публикуется на сайте автоматически. Дальше больше. Страница редактирования на экране пользователя не обновляется и если уже он сам нажмёт на кнопку "опубликовать", то такой материал опубликуется второй раз, либо выскочит ошибка "Текущие изменения не могут быть сохранены, так как исходное содержание уже было изменено в другом процессе (например, другим пользователем)."
Собственно подскажите, либо как решить этот глюк, либо, что мне даже удобнее, объясните как сделать, чтобы друпал сначала обрезал изображение по установленному размеру (в пикселях) при добавлении, а уж ПОТОМ проверял его вес. При таком подходе, учитывая установленные мной размеры в px, вес всегда получается подходящий. Но друпал сначала смотрит на вес исходного (загружаемого изображения) и по нему делает уже вывод, загружать его или нет и соответственно даже не приступает к его обрезке.
Комментарии
Так не устанавливайте ограничение по весу вообще, и всё.
Ну некоторые совсем большие файлы, которые проходят по размеру пикселей, но при этом имеют изначально чрезмерно завышенное качество от пользователей, я не готов хранить на сервере, так что полностью от ограничения не хотелось бы отказываться.
Мне понравилось как с большими картинками работает file_resup
Отличный модуль, поставил себе, спасибо. Мою проблему с публикацией исправило. Единственный минус, при первичной загрузке если изображение обрабатывалось Друпалом, то размер показывается оригинального, а не обработанного (уменьшенного) изображения, что может сбить с толку.
Но подскажите тогда, может есть модуль, который пережимает изображение, если оно превышает размер не только по пикселям, но и по весу. Т.е. стоит у меня ограничение в 1 мб, я загружаю изображение весом 2 мб, Друпал его не сразу отвергает, а сначала обрабатывает сжатием, а лишь потом сравнивает, проходит ли оно по размеру или нет.
имхо, все что Вам нужно, это:
1.Обрезать-маштабировать изображение до определенного размера.
2.Оптимизировать до определенного качества. (https://www.drupal.org/project/imageapi_optimize)
В среднем, все изображения получатся одного размера(веса), который никогда не будет превышать некоторый порог "веса".
Так это я понимаю, вопрос в том, как сначала проделать друпалом все эти манипуляции, а потом только выполнить проверку на ограничение по весу? Друпал делает всё наоборот - сначала смотрит на вес, если он превышает предел, то друпал отказывается делать что-либо с фалом.
Если не храните на сервере оригинальные изображения, просто отмените контроль размера файла.
Настройте обрезку-маштабирование-оптимизацию и все..
Кстати, во времена, когда стоимость дискового пространства на серверах приближается к отрицательной, экономить килобайты - лишний геморрой и ничего более..
Если на Вашем хостинге нет возможности увеличить дисковое пространство без изменения тарифа - ничего страшного.
Файлы можно хранить (и загружать в браузер) на "внешних" серверах, как на "специальных"(CDN и т.п.) так и на всяких гугл-яндекс-дисках и прочих вэбдавах.
вот модуль, который подменяет урл файла на внешний (CDN).: https://www.drupal.org/project/cdn
Останется только подобрать способ загружать эти файлы на внешний сервер.
Это всё к моему вопросу не относится.
Ладно, т.к. баг в шапке мне исправить помогли, за что спасибо большое,то тему я закрываю как решенную, про другие вопросы отдельно если что создам.