Ergebnis 1 bis 4 von 4

Thema: Broken Image Abfrage

  1. #1
    Contao-Nutzer Avatar von Black Pirate
    Registriert seit
    10.02.2015.
    Beiträge
    224

    Standard Broken Image Abfrage

    Guten Tag in die Runde

    ich habe ein Modul, mit dem ich Bilder per Json von einer externen Quelle importiere.
    Dabei kommt es manchmal vor, das ein Bild nicht richtig rein kommt und dann den Status "Broken Image" in der Dateiverwaltung hat.
    Ein "Broken Image" im Frontend kann auch die Seite zerschiessen.

    Nun die Frage:
    Wie erkennt Contao, dass es sich um ein "Broken Image" handelt?

    ich möchte dies natürlich auch abfragen, damit ich automatisiert einem Error vorbeugen kann.

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Ich schätze, hier: https://github.com/contao/contao/blo...rTest.php#L555

    Edit: zu spät gesehen, das das aus den Tests stammt, das Prinzip sollte aber wahrscheinlich das gleiche sein.

    Edit 2: bist Du sicher, daß das von Contao stammt und nicht vom Browser? Wie sieht die Message denn aus? (Screenshot).
    Geändert von fiedsch (31.01.2024 um 08:38 Uhr)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Contao-Nutzer Avatar von Black Pirate
    Registriert seit
    10.02.2015.
    Beiträge
    224

    Standard

    Ja das sieht dann in der Dateiverwaltung so aus:

    brokenimage.jpg

    und ist drin als
    Code:
    <p class="preview-image broken-image">Broken image!</p>

    Der Link hat mich aber trotzdem auf eine Spur geführt:
    Werde mal testen ob es eine mögliche Lösung sein könnte, nach Dimension oder Byte abzufragen.
    Weil das "Broken Image hat 0x0px / oder auch 0,0 Byte.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    PHP-Code:
    try
    {
        
    $thumbnail .= '<br>' $this->getPreviewImage(rawurldecode($currentEncoded));

        
    $importantPart System::getContainer()->get('contao.image.factory')->create($this->strRootDir '/' rawurldecode($currentEncoded))->getImportantPart();

        if (
    $importantPart->getX() > || $importantPart->getY() > || $importantPart->getWidth() < || $importantPart->getHeight() < 1)
        {
            
    $thumbnail .= ' ' $this->getPreviewImage(rawurldecode($currentEncoded), true);
        }
    }
    catch (
    RuntimeException $e)
    {
        
    $thumbnail .= '<br><p class="preview-image broken-image">Broken image!</p>';

    https://github.com/contao/contao/blo...hp#L2827-L2841

    Also im Endeffekt musst du das Bild bspw. per image factory öffnen oder versuchen zu bearbeiten und auf etwaige Exceptions prüfen.
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •