L'importazione del prodotto Magento 2 non importerà le immagini


9

Sto importando prodotti usando l'importazione CSV integrata (Sistema - importazione - prodotti)

Tutti i miei dati vengono importati bene, ma viene visualizzato un errore "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"

nel mio CSS ho scritto il percorso base_image come http://mywebsite.ca/pub/media/import/img/hose/jpg/Ach7938.jpg

come test ho rimosso la mia struttura di cartelle, modificato il CSV e provato questo e ho avuto lo stesso problema, lo stesso errore http://mywebsite.ca/pub/media/import/Ach7938.jpg

Ho provato a scrivere il percorso del file in questo modo /pub/media/import/img/hose/jpg/Ach7938.jpg ma non mi lascerà passare il validatore "verifica dati".

Ho confermato che le autorizzazioni per le cartelle e i file sono 775

Sto usando php 5.6, ho provato 7 ma ha rotto l'intero sito in molti modi diversi, quindi non è un'opzione

Come nota a margine, se lo eseguo 20 volte di seguito, l'intero sito si blocca e l'importazione non funzionerà di nuovo fino a quando non eseguirò un ripristino completo del sistema (che succede?)

Posso mettere le immagini su un altro server e collegarle in quel modo?

Risposte:


7

il percorso dell'immagine dovrebbe essere qualcosa del genere nel csv: Ach7938.jpg

M1 cercherebbe quindi il file immagine in media / import quindi penso che sarebbe pub / media / import in M2

È possibile creare un prodotto con un'immagine e quindi esportare i dati per avere un'idea di come debba essere il valore nel CSV


6

Ho ricevuto l'errore menzionato come "Imported resource (image) could not be downloaded from external resource due to timeout or access permissions"quando ho usato il seguente formato di file CSV per importare l'immagine nella versione Magento 2.0.0 (Windows 10).

Il formato di CSV che ho usato era il seguente >>

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

e nella sezione File per importare la sotto-sezione Immagini File Directory Ho usato il percorso come /pub/media/import

Ho dovuto importare l'immagine in un pub / media / luogo di importazione

Il problema è stato risolto quando ho usato il seguente formato CSV:

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

e valore della directory dei file di immagini come pub/media/import inserisci qui la descrizione dell'immagine

Emissione su Github: https://github.com/magento/magento2/issues/2666


A partire da Magento 2.3.2 la posizione dell'immagine corretta per l'importazione è: <Cartella radice Magento> / var / import / images
Isaac

5

Non sono sicuro che ciò abbia a che fare con il problema in quanto si tratta di un'importazione interna ma:

In M2 ho archiviato le immagini pub/media/importma otterrei lo stesso errore

  1. Impossibile scaricare la risorsa importata (immagine) da una risorsa esterna a causa del timeout o delle autorizzazioni di accesso nelle righe: 1, 2

Ho rimosso il nome del percorso dal mio file CSV e ho solo il percorso dell'immagine come image.jpgsenza barre e ora funziona alla grande.


Penso che questo sia specifico per il tuo caso. Le immagini sono directory nella directory non in una directory secondaria.
Stevie G,

2

ora sto lavorando su Magento 2.2.6 / 7
e ho riscontrato lo stesso errore a causa del meccanismo del percorso di directory di diversi sistemi operativi.

supponiamo che le immagini siano nella cartella pub / media / import di quanto dovremmo menzionare il percorso in questo modo:
1. in Windows (principalmente per localhost / scopo di sviluppo) - / pub / media / import
2. in Ubuntu (principalmente per server di produzione) - pub / media / import

qui l'unica barra in più sta causando il problema.


1

Se hai importato con l'URL dell'immagine esterna puoi vedere il mio aggiornamento rapido .

Ho riscontrato che il problema proviene dal percorso duplicato per l'immagine dopo il download dall'immagine URL esterna.

Ho anche creato una richiesta pull per questo.


Questo ha funzionato per me. Impossibile importare più immagini da URL esterni in 2.2.7.
Johnny Longneck,

1

Ho appena risolto lo stesso problema impostando il proprietario delle immagini in pub / media / import per l'utente web.

In var / log / exception.log ho trovato quanto segue

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

Sotto un'installazione Bitnami i file sono stati caricati via FTP come utente "bitnami" ma in questa installazione l'utente web è "demone"

Ho eseguito quanto segue per correggere tutte le proprietà su un'installazione di Bitnami e ora importa le immagini. Non eseguirlo se il tuo utente web non è un demone.

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

Sebbene questa soluzione sia per un'installazione di BItnami, potrebbe aiutarti a trovare il tuo problema.


0

Il percorso dell'immagine può essere o non essere senza /questo non è un problema. Ho importato con entrambi e ha funzionato. Nel mio caso il problema era che le immagini fornite nel percorso non erano disponibili nella cartella. L'ho provato con l'importazione di immagini disponibili e non disponibili e si verificava un errore nel caso in cui l'immagine non fosse disponibile. Il percorso può essere qualsiasi, non è necessario utilizzare pub/media/importsolo.


0

Per il problema delle immagini di importazione ho risolto il problema dal Uploader.phpfile. modifica sotto il codice del percorso del file e immagini di importazione funzionanti correttamente.

Percorso file: 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);

Per maggiori informazioni Fare riferimento al link github:

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


0

Mi sono appena imbattuto in questo problema da solo e la correzione non aveva nulla a che fare con il formato del mio CSV o la posizione del file delle immagini.

Ciò che stava causando per me erano le autorizzazioni per la pub/media/importcartella. Sembra che le immagini vengano inserite qui quando vengono scaricate da una fonte esterna. Quando il sistema non è stato in grado di creare i file qui ha risolto il problema menzionato.

Per risolvere tutto ciò che dovevo fare era eseguire il seguente comando per risolverlo (dalla pub/mediacartella):

sudo chmod 777 import

Una volta fatto questo, i miei prodotti sono stati importati senza errori.


0

Di seguito è riportato il file da sovrascrivere, non è consigliabile modificare il file del fornitore.

vendor \ Magento \ module-catalogo-import-export \ modello \ Import \ Uploader.php

Vai alla riga n. 249 cioè qui "if ($ this-> getTmpDir ())" e sostituiscilo con ($ this-> getTmpDir () && strpos ($ filePath, $ this-> downloadDir)! == 0)

Copia tutte le immagini nella tua directory principale nella cartella "images"

Ora apri CSV e assegna l'immagine con l'URL completo come www.domain.com/images/test.jpg o http://127.0.0.1/mage233/images/test.jpg

Ora torna all'amministratore e carica questo CSV senza definire il percorso in "Directory file immagini"

Questa volta dovrebbe funzionare.


0

Sembra in 2.3.5 che aggiunge già nel percorso var / import / images. Sposta le tue immagini in questo file, quindi importa senza aggiungere il percorso var / import / images nello strumento di importazione delle immagini.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.