How to Delete Uploaded Files?

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 :innocent:

“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-файлами: при удалении исходной ссылки изображение всё ещё отображалось в комментарии. Если я редактировал пост и удалял ссылку, изображение сохранялось в первоначальной версии поста. Этот пост будет отредактирован, поэтому надеюсь, что это проиллюстрирует, что я имею в виду!

Кажется, это изображение не «обслуживается», а загружается. Разве не так?


Редактирование #2

  1. Я удалил ссылку на стороне Dropbox, и изображение сразу перестало быть доступным для просмотра в посте.

  2. Я снова включил ссылку, но вместо этого отредактировал пост, удалив ссылку. Однако в другом браузере я не смог просмотреть предыдущие версии поста — там нет значка карандаша — чтобы проверить следующее:
    Если я редактировал пост и удалял ссылку, изображение сохранялось в первоначальной версии поста.

Поведение, описанное в пункте 1, противоречит посту здесь. Если вы посмотрите историю редактирования первого поста, то увидите .gif-файл. Исходная ссылка больше не работает, и пост её больше не содержит, поэтому я сбит с толку различиями между этими случаями.