Bild-Uploads verkleinern und konvertieren

Hallo liebe Discoursianer,

wir hosten seit einigen Jahren selbst mit unserer eigenen Discourse-Installation und haben eine Sammlung von etwa 30 GB an Bild-Uploads auf S3 aufgebaut. Im Laufe der Zeit haben wir unsere Meinung geändert, welche Bilddateitypen wir zulassen und welche ursprüngliche Bild-Upload-Größe wir unterstützen. In den letzten 6 Jahren wurden auch neue Funktionen zu Discourse hinzugefügt, die wir am Anfang nicht hatten, so dass das Problem hauptsächlich bei vielen unserer älteren Beiträge liegt. Die neue browserbasierte Composer-Größenänderung hilft unseren Speicherbedarf sehr und funktioniert hervorragend.

Ich denke, wir möchten alle unsere vorhandenen Bild-Uploads in JPG konvertieren und verkleinern, um Speicherkosten zu sparen. Als ich hier gesucht habe, habe ich Folgendes gefunden:

https://github.com/discourse/discourse/blob/main/script/downsize_uploads.rb

…und dachte daran, es anzupassen? Das Problem ist, dass dies zum Verkleinern funktionieren würde :), aber nicht zum Konvertieren von Formaten, d.h. es würde die ursprüngliche Bildgröße eines großen PNG reduzieren, aber es als PNG belassen, anstatt es in ein JPG mit der neuen Größe zu konvertieren.

Es sieht so aus, als müsste ich meine eigene Version davon schreiben:

…also, bevor ich das tue, dachte ich, ich teile mit, was ich vorhatte, und dann könnte jemand sagen: „Oder du könntest diese wirklich einfache Sache tun, ohne diesen Code zu schreiben…“ und mich glücklich machen.

Ich freue mich über alle Ideen, Warnungen oder Kommentare. Wenn ich ein neues Rake-Skript erstellen muss, kann ich es hier teilen, falls jemand anderes eine ähnliche Einrichtung wie wir hat.

Danke!

2 „Gefällt mir“

Dies war der wichtigste Punkt, also hebe ich ihn hervor, falls jemand Ideen hat. Wir suchen immer noch nach dem besten Weg, dies zu tun. Unser aktueller Plan ist, dass wir aufgrund der hohen Hosting-Kosten für diese alten Bilder möglicherweise 5 Jahre alte Beiträge entfernen, um die Kosten zu senken, was schade ist, aber das liegt daran, dass wir ein wirklich niedriges Budget haben. :slight_smile: