Understanding Uploads, Images, and Attachments

:bookmark: Это руководство предоставит администраторам подробные инструкции по загрузке изображений и вложений на вашем сайте Discourse.

:person_raising_hand: Требуемый уровень пользователя: Администратор

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

Загрузка файлов и изображений

В Discourse пользователи могут загружать файлы и изображения прямо в свои сообщения, используя кнопку загрузки в редакторе сообщений.

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

image

Однако, если разрешены другие типы файлов, иконка загрузки будет отображаться как общая иконка загрузки.

image

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

Каждый раз, когда пользователь загружает новый файл на форум, Discourse сохраняет его в папке /var/discourse/shared/standalone/uploads/default/ на сервере.

Разрешенные типы файлов

По умолчанию Discourse разрешает типы файлов изображений (jpg, jpeg, png, gif, heic, heif, webp, avif и svg).

Администраторы также могут добавлять дополнительные расширения файлов в настройки сайта authorized extensions (разрешенные расширения) и authorized extensions for staff (разрешенные расширения для персонала), чтобы разрешить другие типы файлов, такие как .pdf, .docx, .mp3 и т.д.

:person_tipping_hand: Удаление всех типов файлов из списка authorized extensions отключит загрузку на вашем сайте. Если вы не хотите хранить загрузки на сервере вашего сайта, вы можете отключить их, попросить пользователей публиковать загрузки только на внешних сайтах, а затем делиться ссылками на эти загрузки на вашем сайте.

Разрешенные размеры файлов

Максимальный размер по умолчанию для изображений установлен в 10240 kB (10 МБ). Этот лимит можно изменить, изменив настройку сайта max image size kb в зависимости от потребностей вашего сообщества.

Максимальный размер по умолчанию для не-изображений установлен в 10240 kB (10 МБ). Этот лимит можно изменить, изменив настройку сайта max attachment size kb.

:person_tipping_hand: Максимальное значение для max image size kb составляет 102400 kB (100 МБ). Максимальное значение для max attachment size kb составляет 1024000 kB (~1000 МБ).

Если вы используете хостинг, максимальное значение для обоих настроек составляет 30 МБ. Клиенты с планом Enterprise имеют больше возможностей. Пожалуйста, обратитесь в службу поддержки, если у вас есть план Enterprise и вам нужно изучить свои варианты.

Большие файлы

Если вы регулярно делитесь множеством файлов или очень большими файлами, мы рекомендуем использовать Google Drive, Dropbox или другой сервис облачного хранения файлов. Вы также можете использовать стриминговые сервисы, такие как YouTube или SoundCloud, для размещения больших медиафайлов. Затем вы можете получить ссылку оттуда и вставить ее в свое сообщение. Вставьте ссылку на отдельной строке, окруженной пустыми строками, чтобы отобразить файл в медиаплеере (если поддерживается) или в виде предварительного просмотра.

Удаление загрузок

В Discourse нет интерфейса управления файлами. Чтобы удалить файлы, удалите сообщения, которые их содержат, или отредактируйте сообщения, чтобы удалить ссылки на вложения. Одинокие файлы будут автоматически удалены после 48-часового льготного периода.

Дополнительную информацию об удалении загрузок на вашем сайте см. в статье Очистка загрузок и удаление загрузок из S3.

Загрузка файлов и хранение в S3

:discourse: Следующий раздел применим только для #самостоятельно размещенных установок

Discourse позволяет настроить провайдеров объектного хранилища, совместимых с S3, для хранения загрузок.

Вы можете следовать этим руководствам по настройке загрузки файлов и изображений в S3 или настройке провайдера объектного хранилища, совместимого с S3, для загрузок: Настройка загрузки файлов и изображений в S3 и Настройка провайдера объектного хранилища, совместимого с S3, для загрузок.

Загрузки в S3 и резервное копирование сайта

Если вы используете S3 для загрузок, вам следует подумать о том, как это влияет на вашу стратегию резервного копирования. Discourse позволяет настроить автоматическое резервное копирование, и вы можете выбрать хранение этих резервных копий в S3. Однако, если вы используете S3 как для загрузок, так и для резервных копий, вам, возможно, придется учитывать влияние на пропускную способность и стоимость хранения. Для получения дополнительной информации ознакомьтесь с этой темой: Настройка автоматического резервного копирования для Discourse.

Загрузки в S3 и CDN

Если вы используете CDN вместе с загрузками в S3, вам необходимо убедиться, что это правильно настроено. В Discourse есть руководство по включению CDN для вашего сайта Discourse, которое охватывает использование S3: Включение CDN для вашего Discourse.

Безопасные загрузки

В Discourse есть функция под названием “Безопасные загрузки”, которая ограничивает доступ к загруженным файлам, так что только пользователи с необходимыми разрешениями могут просматривать или скачивать их. Это особенно полезно для частных сообществ или для контента, который не должен быть общедоступным.

Чтобы использовать эту функцию, на вашем сайте должны быть включены загрузки в S3, и ваш бакет S3 не должен иметь публичную политику доступа. Все существующие загрузки должны иметь ACL S3 с правами public-read.

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

Чтобы узнать больше о включении безопасных загрузок на вашем сайте, см.: Безопасные загрузки


Дополнительные темы

9 лайков

Hello. I have several questions:

  1. Are images stored in one folder or are they sorted in folders by date, like in WordPress?
  2. When deleting a topic, images and attachments from this topic are also deleted?
1 лайк

That’s a good question. They are stored as a hash of the file so the same for uploaded twice (even with different names) will have just one copy. This should get added the the OP.

I believe this was covered.

4 лайка

Is it possible to upload large files automatically to a cloud file sharing service so that the user don’t have to do anything?

If I use S3 is it possible to upload large files directly?

2 лайка

I also have this idea, I am trying to develop a large file upload plugin. It will be directly uploaded to the cloud file sharing service.

2 лайка

any luck getting this updated?
-James

1 лайк