Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

[Gelöst] Bilder (Originale) nach Upload verkleinern

Eingetragen von pidru (53)
am 19.03.2019 - 15:32 Uhr in
  • Anfängerfragen
  • Drupal 8.x oder neuer

Hallo,
ich möchte die User Bilder bis 50MB hochladen lassen, möchte jedoch auf dem Server keine Original-Bilder liegen haben, die mehr als 3000px groß sind.

Ich nutze das D8 Media Core-Modul und habe am beim entsprechenden Feld die maximale Größe auf 3000 x 3000px gestellt. Bilder die 4500 x 3500px und 20MB groß sind werden hochgeladen, aber wenn ich unter /sites/default/files/... nachsehe ist das Bild immer noch 4500 x 3500px und nicht 3000 x irgendwas.

Was mache ich falsch oder was schafft Abhilfe?
Danke

‹ ? Erster Versuch mit xampp [Gelöst] Bilder (Originale) nach Upload verkleinern ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Grundsätzlich gibt es 2

Eingetragen von dinmikkith (1573)
am 19.03.2019 - 17:53 Uhr

Grundsätzlich gibt es 2 Mechanismen. Zum einen kannst du beim Medientyp Bild für das Uploadfeld vom Typ Bild erst Mal festlegen, welche Abmessungen und welche Minimalgröße, bzw. Maximalgröße die Datei haben muss/darf, die hochgeladen wird.

Dann gibt es die Bildstile, die dafür sorgen, dass aus dieser hochgeladenen Originaldatei eine Kopie erzeugt wird, die den Abmessungen entspricht, die du für Facebook-Posts, mobile Endgeräte oder verschiedene Bildschirmgrößen brauchst.

Natürlich muss Drupal erst Mal die Originaldatei haben, um diese mittels Bildstil in die Kopie in den gewünschten Abmessungen zu verwandeln.

Außerdem gibt es natürlich noch viele Tools, um die Dateigröße der zu erzeugten Derivate möglichst klein zu halten. Dazu werden Tools wie Tinypng, resmush it oder jpeglib.

Was du brauchst, wenn dir das Original zu groß ist und du es hinterher wieder loswerden willst ist ein Arbeitsablauf, der den Originalupload nach dem Erzeugen der Kopie in den gewünschten Abmessungen diese als neues Original ausweist und die Originaldatei automatisch löscht.

In der Regel lässt man die Originaldatei aber im Uploadordner um im Falle einer Neuverarveitung, z.B. Anpassen der Website an ein neues Endgerät, aus diesem Original mittels Bildstil eine neue Kopie in den gewünschten Abmessungen anzuzeigen.

Was du vermutlich nicht gemacht hast, ist dich mit Bildstilen zu beschäftigen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo dinmikkith,doch das

Eingetragen von pidru (53)
am 21.03.2019 - 08:22 Uhr

Hallo dinmikkith,
doch das habe ich intensiv. Ich habe 5 Bildstile von 40 x 40 bis 2500px. Das funktioniert auch alles einwandfrei.
Nur wenn mir ein User z.B. 5 x 50MB hochlädt, sind das ca. 240MB zuviel, die ich gerne wieder loswerden würde.

Drupal generiert die Bilder der Bildstile ja erst beim ersten Aufruf z.B. durch einen node,
verstehe ich dich richtig, dass das Original vorher nicht auf 3000 px mal X px verkleinert wird (s. Kommentar oben zur Größeneinstellung)?
Dann würde ja das programmatische Generieren helfenhttps://www.flocondetoile.fr/blog/generate-programmatically-image-styles-drupal-8
.
Was ich nicht verstehe, ist warum Drupal daraus nicht beim Upload ein z.B. 3000px x 2000px "Original" generiert und daraus dann die entsprechenden Bildstile.
Hat Du / jemand einen Tipp wie ich das erreichen kann?
Danke!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat:Was du brauchst, wenn

Eingetragen von Jenna (1883)
am 22.03.2019 - 03:11 Uhr
Zitat:

Was du brauchst, wenn dir das Original zu groß ist und du es hinterher wieder loswerden willst ist ein Arbeitsablauf, der den Originalupload nach dem Erzeugen der Kopie in den gewünschten Abmessungen diese als neues Original ausweist und die Originaldatei automatisch löscht.

Das kann nicht sein! Ich kann es jetzt nur von Drupal 7 beschreiben, aber logischerweise sollte Drupal 8 das ja ebenfalls können.

Unter Bild bearbeiten im Content Type kannst du bei Min/Max Größe mit beliebigen Werten arbeiten:
Die maximale erlaubte Bildgröße ausgedrückt als BREITExHÖHE (z.B. 640x480). Leer lassen für keine Einschränkung. Wenn ein größeres Bild hochgeladen wird, wird die Größe auf die angegebene Breite und Höhe angepasst. Die Größenanpassung von Bildern beim Hochladen führt zum Verlust der Exif-Daten im Bild.

Das mache ich nun seit 7 Jahren und es funktioniert einwandfrei.

Beispiel:

Meine User laden bis 50 MB Bilder hoch, egal ob Multiupload oder einzeln.
Meine vorgegebenen Werte sind 1600 x 1200 px in oben stehender Beschreibung.

Ein Bild, welches z.B. 12 MB hat, wird auch mit 12 MB in den FTP Ordner geladen und die 12 MB werden auch noch angezeigt in der Node, bis gespeichert wurde!!!
Nach speichern wieder öffnen, dann hat ein Bild nur noch ca. 230 - 400 KB, diese Werte sind ebenfalls im FTP Ordner reduziert.

Dort gibt es dann kein Originalbild mehr mit 12 MB etc. das ist auch so gewünscht (zumindest von mir).

Einziger Fall wo das nicht funktioniert ist:

Wenn ein Bild z.B. 12 MB hat, aber bei Upload bereits kleiner als dein festgelegter Pixelwert ist. Dann findet keine Reduzierung statt.

@pidru
Ich habe momentan keine Drupal 8 am laufen, sonst hätte ich es für dich dort getestet. Würde mich aber wundern, wenn es dort nicht funktionieren sollte.
Hast du eine Node mal gspeichert und dann erneut nachgesehen? Wie gesagt die Komprierung findet erst beim speichern statt, bzw. ist für dich erst nach speichern sichtbar.

Mit Bildstilen hat das Ganze gar nichts zu tun. Wie du schon richtig bemerkt hast, sind die Bildstile nur ausschlaggebend für die spätere Ausgabe, haben aber keinerlei Einfluss auf den Upload.
Beim Upload kann ja auch Drupal noch gar nicht wissen welche Bildstile ich später verwenden möchte, zudem man ja meistens auch mehrere Bildstile pro Bild verwendet (Thumbs, Liste, Detail, Full etc.)

Grüße Jenna

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ist das so? Ja das muss ich

Eingetragen von dinmikkith (1573)
am 22.03.2019 - 07:05 Uhr

Ist das so? Ja das muss ich demnächst Mal testen. Danke für den Hinweis Jenna

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Jenna, vielen Dank für

Eingetragen von pidru (53)
am 25.03.2019 - 15:05 Uhr

Hallo Jenna,
vielen Dank für deine ausführliche Antwort!
Genau so, wie Du es beschrieben hast sollte man es erwarten.

Ich habe jetzt weitere Test mit Media-Core durchgeführt und dabei festgestellt
das es funktioniert wenn man den Upload direkt über
>Inhalt >Media hinzufügen >Image ausführt

Jedoch nicht wenn man an einen Inhaltstyp ein Feld anhängt vom Typ Media, Referenztyp Image
und dann Bilder über das Formular hochlädt.

Vielleicht hat jemand eine Idee, denn am Feld selber kann man beim Typ Media nichts einstellen ausser die Anzahl?
Wie kann man die Größe begrenzen?
Grüße
pidru

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo pidru, das ist ein

Eingetragen von Stefan.Korn (286)
am 25.03.2019 - 17:23 Uhr

Hallo pidru,

das ist ein Drupal 8 Problem. Ich habe auf drupal.org vor einiger Zeit ein Issue dazu aufgemacht und auch einen Patch geschrieben der das Problem beheben sollte: https://www.drupal.org/project/drupal/issues/3008292

Du kannst das ja ggf. mal testen und Dein Ergebnis ggf. auch im Issue https://www.drupal.org/project/drupal/issues/3008292 kundtun. Vielleicht kommt dann auch etwas Bewegung dort rein.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Guck dir mal dieses Modul an

Eingetragen von Jenna (1883)
am 25.03.2019 - 19:01 Uhr

Guck dir mal dieses Modul an ob es mit Media zusammen arbeitet.

https://www.drupal.org/project/imageapi_optimize

oder

(Drupal 7) und den Hinweis in den Issues zu D8 lesen wie weit die sind.
https://www.drupal.org/project/max_image_size

Grüße Jenna

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das tut es, weil es über

Eingetragen von dinmikkith (1573)
am 25.03.2019 - 19:33 Uhr

Das tut es, weil es über Bildstile implementiert wird. Allerdings sind mindestens ein V-Server und Linux-Kenntnisse absolute Voraussetzung um die ganzen Kommandozeilenwerkzeuge, denen das Tool eine Ui liefert, zu installieren und Teilweise aus systemfremden Quellen zu beziehen und zu kompilieren. Grossartiges Tool, aus dem Einsteiger aber maximal 20 % und Menschen, die aus Unkenntnis bei der Anwendung von Drupal auf Shared Hosting setzen, ganze 5 % Potential herausholen können.

Wenn du einen V-Server oder gar einen Root-Server und die notwendigen Kenntnisse besitzt, würde ich dir das Tool sofort wärmstens empfehlen. Gerade für die Bilder, die Nutzer bei dir hochladen sollen sicher ein Powertipp.

Auch wenn das keine Lösung für das Problem ist, dass oben angesprochenen wird, ist es sicher eine Gute Idee konsequent auf Media und Entity-Browser zu setzen und in deinen Inhalten nur Entität Referenzfelder vom Typ Medium zu verwenden. Wenn du das konsequent umsetzt, werden deine Mitarbeiter oder Kunden dem Problem, dass du entdeckt hast, gar nicht erst über den Weg laufen.

Einige der Tools, die du über das von Jenna genannte Werkzeug einbinden kannst, habe ich oben auch schon angesprochen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Für Abhängigkeiten in Drupal

Eingetragen von Jenna (1883)
am 25.03.2019 - 19:47 Uhr

Für Abhängigkeiten in Drupal 8 sollte doch eigentlich auch https://www.drupal.org/project/ludwig funktionieren.

Grüße Jenna

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank an Euch alle! die

Eingetragen von pidru (53)
am 25.03.2019 - 20:22 Uhr

Vielen Dank an Euch alle!

die heutige lange Suche hat das entsprechende Patch erbracht für D8.6 bzw. folgende Versionen, es ist schlichtweg ein Bug, nach Einspielen funktioniert es wie gedacht
https://www.drupal.org/project/drupal/issues/3032282
für die die es wie mich betrifft das Ganze wird hier weiter verfolgt.
https://www.drupal.org/project/drupal/issues/3016649

Ich werde mir eure Empfehlungen aber auch noch mal durchsehen. Entity-Browser und Co kenne ich und ist durchaus eine Alternative
Danke auch Stefan, das Patch setzt ja an ähnlicher Stelle an wie die oben zitierten.
Ich markiere das als Gelöst
Danke
pidru

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 2 Tagen
  • Hey danke
    vor 2 Wochen 3 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 3 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 1 Tag
  • Da scheint die Terminologie
    vor 3 Wochen 1 Tag
  • Kannst doch auch alles direkt
    vor 3 Wochen 5 Tagen
  • In der entsprechenden View
    vor 3 Wochen 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 5 Tagen
  • gelöst
    vor 6 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 27 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association