Beim Import von Magento 2-Produkten werden keine Bilder importiert


9

Ich importiere Produkte mit dem eingebauten CSV-Import (System - Import - Produkte)

Alle meine Daten werden gut importiert, aber ich erhalte eine Fehlermeldung "Imported resource (image) could not be downloaded from external resource due to timeout or access permissions in rows: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10"

In meinem CSS habe ich den Pfad base_image als http://mywebsite.ca/pub/media/import/img/hose/jpg/Ach7938.jpg geschrieben

Als Test entfernte ich meine Ordnerstruktur, bearbeitete die CSV und versuchte dies und bekam das gleiche Problem, den gleichen Fehler http://mywebsite.ca/pub/media/import/Ach7938.jpg

Ich habe versucht, den Dateipfad so zu schreiben: /pub/media/import/img/hose/jpg/Ach7938.jpg, aber ich kann den Validator "Daten überprüfen" nicht passieren.

Ich habe bestätigt, dass die Berechtigungen für die Ordner und Dateien 775 sind

Ich benutze PHP 5.6, ich habe 7 ausprobiert, aber es hat die gesamte Site auf viele verschiedene Arten zerstört, so dass dies keine Option ist

Nebenbei bemerkt, wenn ich dies 20 Mal hintereinander ausführe, bleibt die gesamte Site hängen und der Import funktioniert erst wieder, wenn ich eine vollständige Systemwiederherstellung durchgeführt habe (was ist damit los?)

Kann ich die Bilder auf einen anderen Server stellen und auf diese Weise mit ihnen verknüpfen?

Antworten:


7

Der Bildpfad sollte in der CSV ungefähr so ​​aussehen: Ach7938.jpg

M1 würde dann in media / import nach der Bilddatei suchen, also denke ich, dass es in M2 pub / media / import wäre

Sie können ein Produkt mit einem Image erstellen und dann die Daten exportieren, um einen Hinweis darauf zu erhalten, wie der Wert in der CSV sein muss


6

Ich habe den Fehler erhalten, als "Imported resource (image) could not be downloaded from external resource due to timeout or access permissions"ich das folgende Format der CSV-Datei zum Importieren von Bildern in Magento 2.0.0 (Windows 10) verwendet habe.

Das von mir verwendete CSV-Format war wie folgt >>

sku,base_image,errors
WT09-XS-Purple,/pub/media/import/wt09-white_back-test.jpg

und unter dem Unterabschnitt Datei zum Importieren des Abschnitts Bilder Dateiverzeichnis habe ich den Pfad als verwendet /pub/media/import

Ich hatte das Bild, das am Pub / Media / Import-Ort importiert werden sollte

Das Problem wurde gelöst, als ich das folgende CSV-Format verwendete:

"sku","base_image"
"WT09-XS-Purple","wt09-white_back-test.jpg"

und Wert des Bilddateiverzeichnisses als pub/media/import Geben Sie hier die Bildbeschreibung ein

Problem bei Github: https://github.com/magento/magento2/issues/2666


Ab Magento 2.3.2 ist der richtige Bildspeicherort für den Import: <Magento-Stammordner> / var / import / images
Isaac

5

Ich bin mir nicht sicher, ob dies etwas mit Ihrem Problem zu tun hat, da dies ein interner Import ist, aber:

In M2 habe ich Bilder gespeichert pub/media/import, würde aber den gleichen Fehler erhalten

  1. Importierte Ressourcen (Bilder) konnten aufgrund von Zeitüberschreitungen oder Zugriffsberechtigungen in Zeile (n) nicht von externen Ressourcen heruntergeladen werden: 1, 2

Ich habe den Pfadnamen aus meiner CSV-Datei entfernt und habe nur den image.jpgBildpfad ohne Schrägstriche und es funktioniert jetzt großartig.


Ich denke, das ist spezifisch für Ihren Fall. Ihre Bilder befinden sich im Verzeichnis, nicht in einem Unterverzeichnis.
Stevie G

2

Ich arbeite jetzt an Magento 2.2.6 / 7
und ich hatte den gleichen Fehler, weil Verzeichnispfad Mechanismus von verschiedenen Betriebssystemen.

Nehmen wir an, wenn sich Bilder im Ordner pub / media / import befinden , sollten wir den folgenden Pfad erwähnen:
1. in Windows (hauptsächlich für localhost / Entwicklungszwecke) - / pub / media / import
2. in Ubuntu (hauptsächlich für Produktionsserver) - Pub / Medien / Import

hier verursacht der eine zusätzliche Schrägstrich das Problem.


1

Wenn Sie mit einer externen Bild-URL importiert haben, können Sie meinen Hotfix sehen .

Ich habe festgestellt, dass das Problem vom doppelten Pfad für das Bild nach dem Herunterladen von einem externen URL-Bild herrührt.

Ich habe auch eine Pull-Anfrage dafür erstellt.


Das hat bei mir funktioniert. In 2.2.7 konnten keine Bilder mehr von externen URLs importiert werden.
Johnny Longneck

1

Das gleiche Problem wurde behoben, indem der Eigentümer der Bilder in pub / media / import für den Webbenutzer festgelegt wurde.

In var / log / exception.log habe ich Folgendes gefunden

[2019-06-05 21:02:06] main.CRITICAL: File 'pub/media/import/xxxx.jpg' was not found or has read restriction. {"exception":"[object] (Magento\\Framework\\Exception\\LocalizedException(code: 0): File 'pub/media/import/xxxx.jpg' was not found or has read restriction. at /opt/bitnami/apps/magento/htdocs/vendor/magento/module-catalog-import-export/Model/Import/Uploader.php:209)"} []

Bei einer Bitnami-Installation wurden die Dateien über FTP als Benutzer 'bitnami' hochgeladen. Bei dieser Installation ist der Webbenutzer jedoch 'daemon'.

Ich habe Folgendes ausgeführt, um alle Besitzverhältnisse bei einer Bitnami-Installation zu beheben, und jetzt werden die Bilder importiert. Führen Sie dies nicht aus, wenn Ihr Webbenutzer kein Daemon ist.

sudo chown -R daemon:daemon /opt/bitnami/apps/magento/htdocs && sudo find . -type d -exec chmod 770 {} \; && sudo find . -type f -exec chmod 660 {} \; && sudo chmod u+x bin/magento-cli``

Obwohl diese Lösung für eine BItnami-Installation vorgesehen ist, kann sie Ihnen bei der Suche nach Ihrem Problem helfen.


0

Der Bildpfad kann oder kann nicht ohne sein /, das ist kein Problem. Ich habe mit beiden importiert und es hat funktioniert. In meinem Fall war das Problem, dass die im Pfad angegebenen Bilder nicht im Ordner verfügbar waren. Ich habe es mit dem Importieren eines verfügbaren und eines nicht verfügbaren Bildes versucht und bekam eine Fehlermeldung, falls dieses Bild nicht verfügbar war. Der Pfad kann ein beliebiger sein, er muss nicht pub/media/importnur verwendet werden.


0

Für das Problem mit dem Importieren von Bildern habe ich das Problem aus der Uploader.phpDatei behoben . Ändern Sie den Dateipfadcode und den erfolgreichen Import von Bildern.

Dateipfad: magento / vendor / magento / module-catalog-import-export / Model / Import / Uploader.php

Find the below line from line number 201:

$ filePath = $ this -> _ directory-> getRelativePath ($ filePath. $ fileName);

Replace with:

$ filePath = strpos ($ filePath, $ fileName)! == false? $ filePath: $ this -> _ directory-> getRelativePath ($ filePath. $ fileName);

Weitere Informationen finden Sie unter Github-Link:

https://github.com/magento/magento2/pull/20761/commits/8612789375b0c173f0ba852c587882af6ff8bc7f


0

Ich bin gerade selbst auf dieses Problem gestoßen, und das Update hatte nichts mit dem Format meiner CSV oder dem Dateispeicherort der Bilder zu tun.

Was es für mich verursachte, waren die Berechtigungen für den pub/media/importOrdner. Es scheint, dass die Bilder hier platziert werden, wenn sie von einer externen Quelle heruntergeladen werden. Wenn das System die Dateien hier nicht erstellen konnte, warf es das erwähnte Problem zurück.

Um das Problem zu beheben, musste ich nur den folgenden Befehl ausführen, um das Problem zu beheben (aus dem pub/mediaOrdner):

sudo chmod 777 import

Sobald ich dies getan habe, wurden meine Produkte ohne Fehler importiert.


0

Im Folgenden wird die zu überschreibende Datei aufgeführt. Eine Änderung der Herstellerdatei wird nicht empfohlen.

Hersteller \ Magento \ Modul-Katalog-Import-Export \ Modell \ Import \ Uploader.php

Springe zur Zeile Nr. 249, dh hier "if ($ this-> getTmpDir ())" und ersetze sie durch ($ this-> getTmpDir () && strpos ($ filePath, $ this-> downloadDir)! == 0)

Kopieren Sie alle Bilder in Ihr Stammverzeichnis im Ordner "images"

Öffnen Sie nun CSV und weisen Sie das Bild mit der vollständigen URL zu, z. B. www.domain.com/images/test.jpg oder http://127.0.0.1/mage233/images/test.jpg

Gehen Sie nun zurück zu Admin und laden Sie diese CSV hoch, ohne den Pfad zu "Images File Directory" zu definieren.

Diesmal sollte es funktionieren.


0

Es scheint, dass in 2.3.5 bereits der Pfad var / import / images hinzugefügt wurde. Verschieben Sie Ihre Bilder in diese Datei und importieren Sie sie, ohne den Pfad var / import / images zum Bildimport-Tool hinzuzufügen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.