Как настроить MODX Revo для возможности загрузки изображений с произвольными названиями файлов?

Здравствуйте!

При использовании стандартных методов загрузки изображений в последней версии Modx Revo возникает проблема с загрузкой изображений, содержащих пробелы, специальные символы и кириллицу. Как можно исправить эту проблему, чтобы можно было загружать изображения с любыми названиями?

Заранее спасибо!
Изображение к вопросу
  • 10 октября 2023 г. 16:27
Ответы на вопрос 2
Проблема с загрузкой изображений с произвольными названиями файлов в MODX Revo связана с настройкой фильтрации и валидации имен файлов при загрузке. По умолчанию MODX Revo использует набор ограничений для имен файлов, чтобы предотвратить возможные проблемы с безопасностью.

Для того чтобы разрешить загрузку изображений с произвольными названиями файлов, вам нужно:

1. Открыть файл `/manager/controllers/default/media/browser/getfiles.php` в редакторе кода.

2. Найти следующую строку кода:
```php
$modx->runSnippet('DLFilterMedia');
```

3. Ниже этой строки добавить следующий код:
```php
$_REQUEST['sort'] = 'filename'; // это позволит сортировать файлы по имени
$modx->runSnippet('DLFilterMedia', array(
    'filter' => '', // здесь можно установить пользовательский фильтр для файлов (например, 'mimetype:image/jpeg')
));
```

4. Сохраните изменения и обновите страницу загрузчика медиафайлов в административной панели MODX Revo.

Теперь вы должны иметь возможность загружать изображения с произвольными названиями файлов, включая файлы с пробелами, специальными символами и кириллицей.
Картинки с пробелами в названии файлов не рекомендуется использовать из-за исторических причин, связанных с *nix серверами, на которых работа с такими файлами была проблематичной. Вместо этого рекомендуется заменять пробелы на символы "_" или "-". Это полезно для будущего использования, SEO и других целей. 

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

Для проверки, можно попробовать явно открыть ссылку на изображение (например, https://yourwebsite.ru/assets/images/baidu12.jpg) и узнать, открывается ли оно. Возможно, проблема связана с отсутствием поддержки кириллицы на уровне сервера или иными факторами.
Похожие вопросы