Come eliminare i file caricati?

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

1 Mi Piace

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.

7 Mi Piace

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?

1 Mi Piace

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.

4 Mi Piace

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.

2 Mi Piace

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.

5 Mi Piace

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.

1 Mi Piace

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?

2 Mi Piace

This are a good news, thank you. Can I delete 'em manually?

Per evitare dubbi, quando un post viene modificato e l’unica istanza ovunque di un’immagine o di un’immagine collegata a Dropbox viene rimossa, quell’immagine è considerata non utilizzata in nessun luogo? Attualmente è visualizzabile quando si esamina la cronologia delle modifiche, qualcosa che non mi aspettavo.

Queste sono due cose diverse.

Un’immagine è stata caricata e ha un record Upload nel database.
Un’“immagine collegata da Dropbox” è un link a un’immagine che viene “servita” ai client (browser) da Dropbox.

La pulizia automatizzata riguarda solo le immagini caricate. Non quelle collegate.

2 Mi Piace

Quindi, un’immagine con un record upload che non è mai stata effettivamente pubblicata o è stata rimossa da un commento verrebbe eliminata automaticamente. È corretto?

edited.png

Il file PNG sopra proviene da un link Dropbox. La mia esperienza precedente con un file .gif era che, dopo aver eliminato il link sottostante, l’immagine rimaneva nel commento. Se modificavo il post e rimuovevo il link, l’immagine rimaneva nella versione originale del post. Questo post verrà modificato, quindi spero che dimostri ciò che intendo!

Non sembra che venga “servita”, sembra che venga caricata. Non è così?


Modifica #2

  1. Ho eliminato il link da Dropbox e immediatamente ha smesso di essere visualizzabile nel post.

  2. Ho riattivato il link e invece ho modificato il post per rimuovere il link, ma in un altro browser non sono riuscito a vedere le modifiche precedenti del post - non c’è la matita - per testare questo:
    Se modificavo il post e rimuovevo il link, l’immagine rimaneva nella versione originale del post.

Il comportamento descritto al punto 1 contraddice il post qui; se si esamina la cronologia delle modifiche del primo post, si può vedere un file .gif. Il link sottostante non funziona e il post non lo include più, quindi sono confuso dalle differenze tra qui e lì.