I wanted to know how to delete files when we don’t want them. Like sometimes users upload large size files and upload multiple copies of the same file. How can I delete the repeatedly uploaded items and keep my disk space clean? We run a blogging community forum at http://ask.mybloggertricks.com and we often need to upload graphic images and some css files
There is no way to delete files from the UI currently.
There is a cleanup task that automatically removes images which are no longer referenced in any Discourse post. It’s something @zogstrip added a year+ ago.
That is weird but at least I am glad the cleanup task exists. Images and uploaded files are an important part of community activity and there should have been a better control system for it.
Why is it weird? If an image is not displayed in any posts, why should it exist in the filesystem? Who will view it, and how?
You are right for images but what about js files. We sometimes need to host files at our forum and then link to them from </head> tag
That’d be a very risky use of uploads, since you would be allowing all users to upload javascript files that your site would then execute.
I … can’t … say I would recommend that.
That is right but we upload the js ourselves and have not given rights to anyone else. We disable the js upload as soon as we are done uploading some front-end js files.
Then make sure a hidden staff post links to the files. (There is a private staff category in every install.) And you should be fine.
I have just one new question in mind that is troubling me.
How does Discourse handles illegal hosting done by users using the PM system? What if a user uploads large files via PM and then links to it from an external source. Will cleanup task delete them or not?
Good question! Illegal activity in Messages is another reason admins need visibility into them, cc: @downey.
There is not a way at the moment to browse the largest file uploads but that would be a good thing to have eventually.
I am glad you agreed here. I will be more than pleased to have this option added in future updates 
“Illegal” is going to depend on the jurisdiction. For example, in the United States, the Online Copyright Infringement Liability Limitation Act provides safe harbor for service providers (such as someone running a Discourse site) against actions of their users. As long as the service provider responds to notice of infringing activity, and can produce good records of what that user did or did not do (emphasis hint for @codinghorror), and how they responded to that user and that user’s infringing content, then they are generally not liable for those actions.
In other words, it may not (or may, depending on where you are) be the job of the service provider to police and snoop on its users’ activities.
Sure, Nginx or Apache server logs would exist in all cases for all websites. So you are covered. This is real basic web stuff.
Whether the uploads are illegal or not, the site owner might not appreciate a user who signs up, achieves trust level 1 (necessary to message at all) and then posts 1 GB of files per day in PMs.
Still no such feature? How can I remove uploaded image?
Uploaded files that aren’t used anywhere are automatically removed.
Are you talking about an image that is used somewhere?
This are a good news, thank you. Can I delete 'em manually?
为免生疑问,当帖子被编辑,且该图片/Dropbox 链接图片的全站唯一实例被移除时,该图片是否被视为未被任何地方使用?目前,在查看编辑历史时该图片仍然可见,这出乎我的意料。
这是两件不同的事情。
图片已上传,并在数据库中有一条 Upload 记录。
“Dropbox 链接的图片”是指通过 Dropbox 向客户端(浏览器)“提供”的图片链接。
自动化清理仅针对已上传的图片,不包括链接的图片。
所以,一张带有 upload 记录但从未实际发布,或已从评论中编辑掉的图片会被自动删除。对吗?
edited.png
上面的 PNG 图片来自一个 Dropbox 链接。我之前使用 .gif 的经验是,删除底层链接后,图片仍会保留在评论中。如果我编辑帖子并移除了链接,图片仍会保留在帖子的原始版本中。此帖子将被编辑,希望这能说明我的意思!
这看起来不像是被“提供”(served)的,而更像是被“上传”的。难道不是这样吗?
编辑 #2
-
我在 Dropbox 端删除了链接,它立即在帖子中无法查看了。
-
我重新启用了链接,然后编辑帖子移除了该链接。但在另一个浏览器中,我无法查看帖子的历史版本——没有铅笔图标——因此无法测试这一点:
如果我编辑帖子并移除了链接,图片仍会保留在帖子的原始版本中。
第一点中的行为与这篇帖子 此处 相矛盾。如果你查看该帖子的首次编辑历史,可以看到一个 .gif 文件。底层链接已无法使用,帖子也不再显示该图片,因此我对这两者之间的差异感到困惑。