Uploads funktionieren nicht im Produkt-Customizer
Beheben Sie Probleme, bei denen Kunden im Chamevo Produkt-Customizer keine Bilder oder PDFs hochladen können, und erfahren Sie, was die einzelnen Upload-Fehlermeldungen bedeuten. Wenn Kunden versuchen, Bilder im Produkt-Customizer hochzuladen, kann der Upload lautlos fehlschlagen, einen Fehler anzeigen oder ein fehlerhaftes Bild auf dem Canvas erzeugen. Dieser Leitfaden behandelt die häufigen Ursachen. ## Symptome - Die Upload-Schaltfläche reagiert nicht oder zeigt einen Ladekreisel, der sich nie vollendet. - Nach der Dateiauswahl erscheint eine Fehlermeldung. - Das hochgeladene Bild erscheint als fehlerhafter Platzhalter auf dem Canvas. - Uploads funktionieren für Administratoren, aber nicht für ausgeloggte Kunden. ## Fehlermeldung zuordnen Ab Chamevo 2.8.1 zeigen fehlgeschlagene Uploads eine verständliche Meldung statt eines technischen Fehlers. Suchen Sie die Meldung, die Ihr Kunde sieht: | Fehlermeldung | Weiter zu | |---------------|-----------| | "The file exceeds the maximum upload size of X MB allowed by the server." | [Ursache 1](#ursache-1-dateigre-berschreitet-das-upload-limit) — Server-Limit | | "File too large. Maximum size is X MB." | [Ursache 1](#ursache-1-dateigre-berschreitet-das-upload-limit) — Limit von Chamevo oder Server | | "PDF file is too large. Maximum size is X MB." | [Ursache 1](#ursache-1-dateigre-berschreitet-das-upload-limit) — PDF-Limit | | "You need to be logged in to upload images!" | [Ursache 2](#ursache-2-einstellung-login-required-ist-aktiviert) — Anmeldung erforderlich | | "Suspicious content detected in PDF file." | [Ursache 3](#ursache-3-ein-pdf-wird-als-verdchtig-abgelehnt) — PDF-Sicherheitsprüfung | | "Server response missing pdf_images" | [Ursache 1](#ursache-1-dateigre-berschreitet-das-upload-limit) — Sie verwenden eine Version vor 2.8.1 | ## Ursache 1: Dateigröße überschreitet das Upload-Limit Für jeden Upload gelten zwei Limits: die Chamevo-Einstellung **Maximum Image Size (MB)** und die PHP-Limits Ihres Servers. Das niedrigere der beiden gilt. - **"File too large. Maximum size is X MB."** — die Datei ist größer als das wirksame Limit. X ist die Chamevo-Einstellung oder, falls niedriger, das Server-Limit. - **"PDF file is too large. Maximum size is X MB."** — PDFs dürfen doppelt so groß sein wie die Einstellung **Maximum Image Size (MB)**, aber nie größer, als der Server erlaubt. - **"The file exceeds the maximum upload size of X MB allowed by the server."** — die Datei ist größer als `upload_max_filesize` oder `post_max_size` in PHP. X ist das Server-Limit. Vor 2.8.1 lieferte eine Datei über dem Server-Limit eine leere Antwort. Kunden sahen dann "Server response missing pdf_images" oder einen Ladekreisel, der nie endete. Aktualisieren Sie Chamevo, um die verständliche Meldung zu erhalten. **Lösung:** 1. Gehen Sie zu **Chamevo → Settings → Features → Uploads**. 2. Prüfen Sie **Maximum Image Size (MB)** — der Standardwert ist 10 MB. 3. Erhöhen Sie den Wert bei Bedarf. 4. Prüfen Sie auch die PHP-Limits Ihres Servers: - `upload_max_filesize` — muss mindestens so groß sein wie die Chamevo-Einstellung. Für PDFs mindestens doppelt so groß. - `post_max_size` — muss größer sein als `upload_max_filesize`. 5. Erhöhen Sie PHP-Limits über `php.ini`, `.htaccess` oder Ihr Hosting-Control-Panel. Siehe [PHP-Limits für große Anpassungsdaten erhöhen](/kb/wordpress/troubleshooting/php-limits). Wenn Sie die Chamevo-Einstellung über das Server-Limit hinaus erhöhen, hat das keine Wirkung — das Server-Limit gilt weiterhin. ## Ursache 2: Einstellung Login Required ist aktiviert Chamevo kann verlangen, dass Kunden angemeldet sind, um Bilder hochzuladen. Gäste sehen dann beim Upload "You need to be logged in to upload images!". **Lösung:** 1. Gehen Sie zu **Chamevo → Settings → Features → Uploads**. 2. Prüfen Sie **Login Required**. 3. Wenn aktiviert, können nur angemeldete WordPress-Benutzer hochladen. Deaktivieren Sie diese Option, wenn alle Kunden hochladen dürfen. Um den Wortlaut der Meldung zu ändern, bearbeiten Sie den Login-Required-Text in Ihren Chamevo-Übersetzungen. Siehe [Chamevo in eine andere Sprache übersetzen](/kb/wordpress/settings/translation). ## Ursache 3: Ein PDF wird als verdächtig abgelehnt Chamevo prüft hochgeladene PDFs auf eingebetteten Code. Vor 2.8.1 wurden harmlose gescannte PDFs teils mit "Suspicious content detected in PDF file." abgelehnt. Ihre komprimierten Bilddaten entsprachen zufällig einem Code-Muster. **Lösung:** 1. Aktualisieren Sie Chamevo auf 2.8.1 oder höher. Die Prüfung markiert nun nur noch echten Code. 2. Wird ein PDF weiterhin abgelehnt, enthält es wahrscheinlich Skripte oder PHP-Code. Bitten Sie den Kunden, die Datei erneut aus seinem Design-Tool zu exportieren oder als PNG oder JPEG hochzuladen. ## Ursache 4: Server-Berechtigungsprobleme Das WordPress-Upload-Verzeichnis verfügt möglicherweise nicht über Schreibrechte. **Lösung:** 1. Stellen Sie sicher, dass das Verzeichnis `wp-content/uploads/` über Schreibrechte verfügt (typischerweise 755 für Verzeichnisse, 644 für Dateien). 2. Prüfen Sie, ob ein Sicherheits-Plugin Datei-Uploads einschränkt. 3. Testen Sie das Hochladen über die Standard-WordPress-Mediathek — wenn auch das fehlschlägt, liegt ein Server-Berechtigungsproblem vor. ## Ursache 5: Sicherheits-Plugin blockiert den Upload Einige Sicherheits-Plugins blockieren Datei-Uploads, die Base64-kodierte Bilddaten oder große POST-Payloads enthalten. **Lösung:** 1. Prüfen Sie das Protokoll Ihres Sicherheits-Plugins auf blockierte Upload-Anfragen. 2. Fügen Sie den Chamevo-Upload-Endpunkt im Sicherheits-Plugin zur Whitelist hinzu. 3. Für NinjaFirewall, siehe [NinjaFirewall blockiert Warenkorb-Aktionen](/kb/wordpress/troubleshooting/ninjafirewall-conflict). ## Ursache 6: Bestätigungs-Modal für Bildrechte Wenn die Bildrechte-Bestätigung aktiviert ist, müssen Kunden zustimmen, bevor der Upload fortgesetzt wird. **Lösung:** 1. Gehen Sie zu **Chamevo → Settings → Features → Uploads**. 2. Prüfen Sie **Require Image Rights Confirmation**. 3. Wenn aktiviert, erscheint vor jedem Upload ein Bestätigungs-Modal. Der Kunde muss zustimmen, um fortzufahren. 4. Wenn das Modal nicht korrekt angezeigt wird (Theme-Konflikt), kann das so aussehen, als würden Uploads nicht funktionieren. ## Ursache 7: ImageMagick-Filter verursacht Fehler Wenn ein automatischer Bildfilter konfiguriert ist, benötigt dieser ImageMagick auf dem Server. **Lösung:** 1. Gehen Sie zu **Chamevo → Settings → Features → Uploads**. 2. Prüfen Sie **Image Upload Filter**. 3. Wenn auf Grayscale, Black & White oder Threshold gesetzt, muss ImageMagick auf dem Server installiert sein. 4. Setzen Sie den Filter auf **None**, um die automatische Filterung zu deaktivieren, und testen Sie, ob Uploads funktionieren. Details finden Sie unter [Filter automatisch auf hochgeladene Bilder anwenden](/kb/wordpress/settings/image-filters). ## Prävention - Legen Sie vernünftige Dateigrößen-Limits fest, die den Auflösungsanforderungen Ihrer Produkte entsprechen. - Halten Sie die PHP-Limits Ihres Servers über Ihrer Chamevo-Einstellung **Maximum Image Size (MB)**. - Testen Sie Uploads nach der Installation von Sicherheits-Plugins oder einem Hosting-Wechsel. - Wenn Sie ein CDN oder einen Reverse-Proxy verwenden, stellen Sie sicher, dass Upload-Anfragen nicht entfernt oder gecacht werden. ## Nächste Schritte - [Erlaubte Dateitypen und DPI-Beschränkungen konfigurieren](/kb/wordpress/print-exports/file-types-dpi), um zu steuern, welche Dateien Kunden hochladen dürfen. - [PHP-Limits für große Anpassungsdaten erhöhen](/kb/wordpress/troubleshooting/php-limits), falls Ihre Server-Limits zu niedrig sind. ## FAQ **F: Was bedeutet "Server response missing pdf_images"?** A: Die Datei war größer als das Upload-Limit Ihres Servers, und eine Chamevo-Version vor 2.8.1 konnte das nicht melden. Aktualisieren Sie Chamevo, um das tatsächliche Limit zu sehen, und erhöhen Sie dann Ihre PHP-Limits oder bitten Sie den Kunden um eine kleinere Datei. **F: Ich habe Maximum Image Size auf 50 MB gesetzt. Warum nennt der Fehler trotzdem eine niedrigere Zahl?** A: Die PHP-Limits Ihres Servers sind niedriger. Chamevo verwendet immer das niedrigere der beiden Limits, erhöhen Sie daher auch `upload_max_filesize` und `post_max_size`.