理解上传、图片和附件

: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 MB)。此限制可通过更改 max image size kb(最大图片大小 kb)站点设置来调整,以满足您社区的需求。

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

:person_tipping_hand: max image size kb 的最大值为 102400 kB(100 MB)。max attachment size kb 的最大值为 1024000 kB(约 1000 MB)。

如果您是托管客户,这两个设置的上限均为 30MB。企业客户有更大的灵活性。如果您拥有企业版计划并希望了解更多选项,请联系支持团队。

大型文件

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

删除上传内容

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

有关删除站点上上传内容的更多详细信息,请参阅 清理上传内容和从 S3 中清除上传内容

文件上传和 S3 存储

:discourse: 以下部分仅适用于#self-hosted 安装

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

您可以遵循这些指南来设置文件和图片上传到 S3 或配置与 S3 兼容的对象存储提供商以下载:设置文件和图片上传到 S3配置与 S3 兼容的对象存储提供商以下载

S3 上传和站点备份

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

S3 上传和 CDN

如果您将内容分发网络(CDN)与 S3 上传结合使用,您需要确保其配置正确。Discourse 有关如何为您的 Discourse 启用 CDN 的指南,其中涵盖了 S3 的使用:为您的 Discourse 启用 CDN

安全上传

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

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

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

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


附加主题

9 个赞

您好。我有几个问题:

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

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

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

4 个赞

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

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

2 个赞

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

2 个赞

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

1 个赞