Всем привет! ![]()
Из-за ограничений по хранилищу я хотел бы уточнить, как работает загрузка изображений и файлов. Насколько я понимаю, каждый раз, когда пользователь загружает новое изображение на форум, оно сохраняется где-то. Вопрос: где именно? Также, что будет, если администратор или пользователь удалит это изображение из темы — будет ли оно удалено из этого хранилища? (Если да, то сразу или с задержкой?)
Спасибо ![]()
В /var/discourse/shared/standalone/uploads/default/ на сервере.
Да, при условии, что включена опция «Очистка загруженных файлов».
Загруженный файл будет удален после истечения периода grace для очистки сиротских файлов (clean orphan uploads grace period hours).
Спасибо за разъяснение ![]()
А что, если пользователь попытается устроить своего рода «злоупотребление»: загрузит кучу изображений, а затем удалит их через несколько секунд? Все они будут сохранены в директории ../default, и у меня может закончиться место на диске?
Новые пользователи Discourse могут загружать только одно изображение на тему. Кроме того, максимальный размер изображения составляет всего 4 МБ, поэтому для заполнения нескольких гигабайт пользователю потребуется множество изображений, а поскольку мы дублируем загрузки, все они должны быть разными. Также существует параметр min trust to post images, который можно изменить на уровень TL2, если новые аккаунты вызывают у вас проблемы.
Если вы не можете позволить себе загрузки от пользователей, просто отключите их и предложите пользователям публиковать изображения на таких сайтах, как https://imgur.com/, как это делал Reddit в течение многих лет.
Ограничение в 4 МБ также распространяется на документы, такие как PDF?
Нет, PDF — это не изображения. Они обрабатываются как файлы и подчиняются настройке сайта max attachment size kb.