La importación de productos Magento 2 no importará imágenes

9

Estoy importando productos utilizando la importación CSV incorporada (Sistema - importación - productos)

Todos mis datos se importan bien, pero recibo un error "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"

en mi css he escrito la ruta de base_image como http://mywebsite.ca/pub/media/import/img/hose/jpg/Ach7938.jpg

como prueba, eliminé la estructura de mi carpeta, edité el csv e intenté esto y obtuve el mismo problema, el mismo error http://mywebsite.ca/pub/media/import/Ach7938.jpg

Intenté escribir la ruta del archivo como /pub/media/import/img/hose/jpg/Ach7938.jpg pero no me deja pasar el validador de "verificación de datos".

Confirmé que los permisos en las carpetas y archivos son 775

Estoy usando php 5.6, probé 7 pero rompió todo el sitio de muchas maneras diferentes, por lo que esa no es una opción

Como nota al margen, si ejecuto esto 20 veces seguidas, todo el sitio se bloquea y la importación no volverá a funcionar hasta que haga una restauración completa del sistema (¿qué pasa con eso?)

¿Puedo poner las imágenes en un servidor diferente y vincularlas de esa manera?

Justin Blayney
fuente

Respuestas:

7

la ruta de la imagen debería ser algo así en el csv: Ach7938.jpg

M1 luego buscaría el archivo de imagen en media / import así que creo que sería pub / media / import en M2

Puede crear un producto con una imagen y luego exportar los datos para tener una idea de cómo debe ser el valor en el csv

David Verholen
fuente
6

Recibí el error mencionado "Imported resource (image) could not be downloaded from external resource due to timeout or access permissions"cuando utilicé el siguiente formato de archivo csv para importar imágenes en la versión Magento 2.0.0 (Windows 10).

El formato de csv que utilicé fue el siguiente >>

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

y debajo del archivo para importar la subsección de la sección Directorio de archivos de imágenes, utilicé la ruta como /pub/media/import

Tenía la imagen para importar en pub / media / import location

El problema se resolvió cuando utilicé el siguiente formato csv:

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

y el valor del directorio de archivos de imágenes como pub/media/import ingrese la descripción de la imagen aquí

Problema en Github: https://github.com/magento/magento2/issues/2666

Mukesh
fuente
A partir de Magento 2.3.2, la ubicación correcta de la imagen para importar es: <carpeta raíz de Magento> / var / import / images
Isaac
5

No estoy seguro de si esto tiene algo que ver con su problema, ya que se trata de una importación interna, pero:

En M2 tengo imágenes almacenadas pub/media/importpero obtendría el mismo error

  1. El recurso (imagen) importado no se pudo descargar desde un recurso externo debido al tiempo de espera o los permisos de acceso en las filas: 1, 2

Eliminé el nombre de la ruta de mi archivo CSV y solo tengo la ruta de la imagen como image.jpgsin barras y ahora funciona muy bien.

babywit
fuente
Creo que esto es específico para su caso. Sus imágenes son directorio en el directorio no en un subdirectorio.
Stevie G
2

Ahora estoy trabajando en Magento 2.2.6 / 7
y me enfrenté al mismo error porque el mecanismo de ruta de directorio de diferentes sistemas operativos.

supongamos que si las imágenes están en la carpeta pub / media / import , deberíamos mencionar la ruta de esa manera:
1. en Windows (principalmente para localhost / desarrollo) - / pub / media / import
2. en Ubuntu (principalmente para el servidor de producción) - pub / media / import

aquí la barra oblicua adicional está causando el problema.

Naveen Jain
fuente
1

Si importó con url de imagen externa, puede ver mi hotfix .

Encontré que el problema proviene de la ruta duplicada para la imagen después de la descarga desde la imagen de URL externa.

También creé una solicitud de extracción para ello.

Jokerbase
fuente
Eso funcionó para mí. Ya no se podían importar imágenes de URL externas en 2.2.7.
Johnny Longneck
1

Simplemente solucioné el mismo problema al configurar el propietario de las imágenes en pub / media / import para el usuario web.

En var / log / exception.log encontré lo siguiente

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

Bajo una instalación de Bitnami, los archivos se cargaron a través de FTP como el usuario 'bitnami', pero en esta instalación el usuario web es 'daemon'

Ejecuté lo siguiente para arreglar todas las propiedades en una instalación de Bitnami y ahora importa las imágenes. No ejecute esto si su usuario web no es demonio.

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

Aunque esta solución es para una instalación de BItnami, podría ayudarlo a encontrar su problema.

DaveJ
fuente
0

La ruta de la imagen puede ser o no puede ser sin /eso no es problema. Importé con ambos y funcionó. En mi caso, el problema era que las imágenes dadas en la ruta no estaban disponibles en la carpeta. Lo intenté con la importación de imágenes disponibles y no disponibles y recibí un error en caso de que esa imagen no estuviera disponible. La ruta puede ser cualquiera, no se debe usar pub/media/importsolo.

Shahzaib Hayat Khan
fuente
0

Para el problema de importación de imágenes, he solucionado el problema del Uploader.phparchivo. cambie el código de ruta del archivo a continuación y las imágenes de importación de trabajo exitosas.

Ruta del archivo: magento / vendor / magento / module-catalog-import-export / Model / Import / Uploader.php

Find the below line from line number 201:

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

Replace with:

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

Para obtener más información, consulte el enlace de github:

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

Kirti Nariya
fuente
0

Acabo de encontrarme con este problema, y ​​la solución no tuvo nada que ver con el formato de mi csv o la ubicación del archivo de las imágenes.

Lo que me estaba causando eran los permisos en la pub/media/importcarpeta. Parece que las imágenes se colocan aquí cuando se descargan de una fuente externa. Cuando el sistema no pudo crear los archivos aquí, arrojó el problema mencionado.

Para solucionarlo, todo lo que tenía que hacer era ejecutar el siguiente comando para solucionarlo (desde la pub/mediacarpeta):

sudo chmod 777 import

Una vez que hice esto, mis productos se importaron sin error.

Daniel Black
fuente
0

El siguiente es el archivo a sobrepasar, no se recomienda la modificación en el archivo del proveedor.

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

Salte a la línea no 249, es decir, aquí "if ($ this-> getTmpDir ())" y reemplácelo con ($ this-> getTmpDir () && strpos ($ filePath, $ this-> downloadDir)! == 0)

Copie todas las imágenes a su directorio raíz en la carpeta "imágenes"

Ahora abra CSV y asigne una imagen con URL completa como www.dominio.com/images/test.jpg o http://127.0.0.1/mage233/images/test.jpg

Ahora regrese a Admin y cargue este CSV sin definir la ruta al "Directorio de archivos de imágenes"

Esta vez debería funcionar.

zuber bandi
fuente
0

Parece que en 2.3.5 ya agrega en la ruta var / import / images. Mueva sus imágenes a este archivo y luego importe sin agregar la ruta var / import / images en la herramienta de importación de imágenes.

ToweringMeida
fuente