理解上传、图片和附件

: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)。

管理员还可以向 authorized extensions(授权扩展名)和 authorized extensions for staff(授权员工扩展名)站点设置中添加更多文件扩展名,以允许其他类型的文件,例如 .pdf、.docx、.mp3 等。

:person_tipping_hand:authorized extensions 列表中删除所有文件类型将禁用您站点的上传功能。如果您不想在您站点的服务器上存储上传的文件,您可以禁用它们,告诉您的用户只发布到外部网站,然后在您的站点上共享上传文件的链接。

允许的文件大小

图片的默认最大尺寸设置为 4096 kB(4 MB)。此限制可以通过更改 max image size kb(最大图片大小 kb)站点设置来调整,以满足您社区的需求。

非图片上传的默认最大尺寸设置为 8192kB(8 MB)。此限制可以通过修改 max attachment size kb(最大附件大小 kb)站点设置来调整。

:person_tipping_hand: 这两个设置的最大 kb 大小均为 30720 kB / 30 MB

大文件

如果您经常共享许多文件或非常大的文件,我们建议您使用 Google Drive、Dropbox 或其他云文件共享服务。您还可以使用 YouTube 或 SoundCloud 等流媒体服务来托管您的大型媒体文件。然后,您可以从中获取链接并将其粘贴到您的帖子中。将链接放在单独一行上,并用空行分隔,以便在支持的情况下显示文件在媒体播放器中,或显示摘要预览。

删除上传的文件

Discourse 中没有提供文件管理界面。要删除文件,请删除包含这些文件的帖子,或编辑帖子以删除附件链接。孤立的文件将在 48 小时的宽限期后自动删除。

有关删除您站点上上传文件的更多详细信息,请参阅 Cleaning up Uploads and Purging Uploads from S3

文件上传和 S3 存储

:discourse: 以下部分仅适用于 #self-hosted(自托管)安装和 Enterprise(企业版)托管的站点。

Discourse 允许您配置 S3 兼容的对象存储提供商来存储上传的文件。

您可以按照以下指南进行操作,了解如何设置文件和图片上传到 S3 或为上传配置 S3 兼容的对象存储提供商:Setting up file and image uploads to S3Configure an S3 compatible object storage provider for uploads

S3 上传和站点备份

如果您使用 S3 进行上传,您可能需要考虑这对您的备份策略有何影响。Discourse 允许您配置自动备份,您可以选择将这些备份存储在 S3 上。但是,如果您同时使用 S3 进行上传和备份,您可能需要考虑对带宽和存储成本的影响。有关更多信息,请查看此主题:Configure automatic backups for Discourse

S3 上传和 CDN

如果您在使用 CDN 的同时使用 S3 上传,您需要确保其配置正确。Discourse 有一个关于如何为您的 Discourse 启用 CDN 的指南,其中涵盖了 S3 的使用:Enable a CDN for your Discourse

安全上传

Discourse 有一个名为“安全上传”的功能,该功能限制对上传文件的访问,以便只有具有必要权限的用户才能查看或下载文件。这对于私有社区或不应公开访问的内容特别有用。

要使用此功能,您必须在您的站点上启用了 S3 上传,并且您的 S3 存储桶不应具有公共存储桶策略。所有现有上传都应具有公共读取 S3 ACL。

但是,启用安全上传可能会增加设置的复杂性,可能影响站点性能,并增加备份的大小。

要了解有关在您的站点上启用安全上传的更多信息,请参阅:Secure Uploads


其他主题

9 个赞

您好。我有几个问题:

  1. 图片是存储在一个文件夹中,还是像 WordPress 一样按日期分类存放在文件夹中?
  2. 删除主题时,该主题中的图片和附件也会被删除吗?
1 个赞

这是个好问题。它们被存储为文件的哈希值,因此即使上传两次(即使文件名不同),也只会有一个副本。这应该添加到 OP 中。

我认为这个问题已经回答了。

4 个赞

是否可以将大文件自动上传到云文件共享服务,以便用户无需执行任何操作?

如果我使用 S3,是否可以直接上传大文件?

2 个赞

我也有一个想法,我正在尝试开发一个大型文件上传插件。它将直接上传到云文件共享服务。

2 个赞

更新有什么进展吗?
-詹姆斯

1 个赞