L'importation de produits Magento 2 n'importera pas d'images

9

J'importe des produits en utilisant l'import CSV intégré (Système - importation - produits)

Toutes mes données sont importées correctement, mais je reçois une erreur "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"

dans mon css j'ai écrit le chemin de base_image comme http://mywebsite.ca/pub/media/import/img/hose/jpg/Ach7938.jpg

comme test, j'ai supprimé ma structure de dossiers, modifié le csv et essayé cela et j'ai eu le même problème, même erreur http://mywebsite.ca/pub/media/import/Ach7938.jpg

J'ai essayé d'écrire le chemin du fichier comme suit /pub/media/import/img/hose/jpg/Ach7938.jpg mais cela ne me laissera pas passer le validateur "vérifier les données".

J'ai confirmé que les autorisations sur les dossiers et fichiers sont de 775

J'utilise php 5.6, j'ai essayé 7 mais cela a cassé tout le site de différentes manières, donc ce n'est pas une option

En remarque, si je lance cela 20 fois de suite, le site entier se bloque et l'importation ne fonctionnera pas à nouveau jusqu'à ce que je fasse une restauration complète du système (quoi de neuf?)

Puis-je mettre les images sur un autre serveur et les lier de cette façon?

Justin Blayney
la source

Réponses:

7

le chemin de l'image doit ressembler à ceci dans le fichier csv: Ach7938.jpg

M1 chercherait alors le fichier image dans media / import donc je pense que ce serait pub / media / import dans M2

Vous pouvez créer un produit avec une image, puis exporter les données pour obtenir un indice sur la façon dont la valeur dans le fichier csv doit être

David Verholen
la source
6

J'ai reçu l'erreur mentionnée "Imported resource (image) could not be downloaded from external resource due to timeout or access permissions"lorsque j'ai utilisé le format de fichier csv suivant pour importer l'image dans la version Magento 2.0.0 (Windows 10).

Le format de csv que j'ai utilisé était le suivant >>

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

et sous la sous-section Fichier à importer la sous-section Images File Directory j'ai utilisé le chemin comme /pub/media/import

J'ai eu l'image à importer au pub / média / emplacement d'importation

Le problème a été résolu lorsque j'ai utilisé le format csv suivant:

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

et la valeur du répertoire de fichiers d'images comme pub/media/import entrez la description de l'image ici

Problème sur Github: https://github.com/magento/magento2/issues/2666

Mukesh
la source
Depuis Magento 2.3.2, l'emplacement correct de l'image pour l'importation est: <dossier racine Magento> / var / import / images
Isaac
5

Je ne sais pas si cela a quelque chose à voir avec votre problème car il s'agit d'une importation interne mais:

Dans M2, j'ai des images stockées pub/media/importmais j'obtiendrais la même erreur

  1. La ressource importée (image) n'a pas pu être téléchargée à partir d'une ressource externe en raison du délai d'attente ou des autorisations d'accès dans la ou les lignes: 1, 2

J'ai supprimé le nom du chemin de mon fichier CSV et j'ai juste le chemin de l'image comme image.jpgsans barres obliques et cela fonctionne très bien maintenant.

babywit
la source
Je pense que cela est spécifique à votre cas. Vos images se trouvent dans le répertoire et non dans un sous-répertoire.
Stevie G
2

je travaille maintenant sur Magento 2.2.6 / 7
et j'ai fait face à la même erreur car le mécanisme de chemin de répertoire de différents systèmes d'exploitation.

permet de supposer que si les images se trouvent dans le dossier pub / media / import que nous devrions mentionner le chemin comme celui-ci:
1. sous Windows (principalement à des fins d'hôte local / de développement) - / pub / media / import
2. sous Ubuntu (principalement pour le serveur de production) - pub / média / import

ici, la seule barre oblique supplémentaire est à l'origine du problème.

Naveen Jain
la source
1

Si vous avez importé avec une URL d'image externe, vous pouvez voir mon correctif .

J'ai trouvé que le problème venait du chemin en double pour l'image après le téléchargement à partir d'une image d'URL externe.

J'ai également créé une demande de tirage pour cela.

Jokerbase
la source
Cela a fonctionné pour moi. Impossible d'importer des images à partir d'URL externes dans 2.2.7.
Johnny Longneck
1

Juste corrigé le même problème en définissant le propriétaire des images dans pub / media / import à l'utilisateur Web.

Dans var / log / exception.log, j'ai trouvé ce qui suit

[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)"} []

Sous une installation Bitnami, les fichiers ont été téléchargés via FTP en tant qu'utilisateur 'bitnami' mais dans cette installation, l'utilisateur Web est 'daemon'

J'ai exécuté ce qui suit pour corriger toutes les propriétés sur une installation Bitnami et maintenant il importe les images. Ne l'exécutez pas si votre utilisateur Web n'est pas un démon.

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``

Bien que cette solution soit destinée à une installation BItnami, elle peut aider à trouver votre problème.

DaveJ
la source
0

Le chemin de l'image peut être ou ne peut pas être sans /cela n'est pas un problème. J'ai importé avec les deux et cela a fonctionné. Dans mon cas, le problème était que les images fournies dans le chemin n'étaient pas disponibles dans le dossier. Je l'ai essayé avec l'importation d'images disponibles et non disponibles et recevais une erreur au cas où cette image n'était pas disponible. Le chemin peut être n'importe lequel, il n'est pas obligatoire de l'utiliser pub/media/importuniquement.

Shahzaib Hayat Khan
la source
0

Pour le problème d'importation d'images, j'ai résolu le problème à partir du Uploader.phpfichier. changer le code de chemin de fichier ci-dessous et réussir à importer des images.

Chemin du fichier: 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);

Pour plus d'informations, reportez-vous au lien github:

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

Kirti Nariya
la source
0

Je viens de rencontrer ce problème moi-même, et le correctif n'a rien à voir avec le format de mon csv ou l'emplacement du fichier des images.

Ce qui me le causait, c'était les autorisations sur le pub/media/importdossier. Il semble que les images soient placées ici lors du téléchargement à partir d'une source externe. Lorsque le système n'a pas pu créer les fichiers ici, il a renvoyé le problème mentionné.

Pour le réparer, je devais simplement exécuter la commande suivante pour le réparer (à partir du pub/mediadossier):

sudo chmod 777 import

Une fois que j'ai fait cela, mes produits ont été importés sans erreur.

Daniel Black
la source
0

Voici le fichier à surcharger, la modification du fichier fournisseur n'est pas recommandée.

fournisseur \ magento \ module-catalog-import-export \ Model \ Import \ Uploader.php

Aller à la ligne n ° 249, c'est-à-dire ici "if ($ this-> getTmpDir ())" et le remplacer par ($ this-> getTmpDir () && strpos ($ filePath, $ this-> downloadDir)! == 0)

Copiez toutes les images dans votre répertoire racine sous le dossier "images"

Maintenant, ouvrez CSV et attribuez une image avec une URL complète telle que www.domain.com/images/test.jpg ou http://127.0.0.1/mage233/images/test.jpg

Maintenant, revenez à Admin et téléchargez ce CSV sans définir le chemin vers "Répertoire de fichiers d'images"

Cette fois, cela devrait fonctionner.

zuber bandi
la source
0

Il semble qu'en 2.3.5 il ajoute déjà dans le chemin var / import / images. Déplacez vos images dans ce fichier puis importez sans ajouter le chemin var / import / images dans l'outil d'importation d'images.

ToweringMeida
la source