Estoy tratando de cargar imágenes locales en un producto Shopify a través de node.js y shopify-api-node .
Esta es la parte del código, donde estoy cargando las imágenes.
product.images.forEach(async image => { Logger.toFile("product.image", image); try { await this._api.productImage.create(shopifyProduct.id, { src: image.src }); } catch (error) { Logger.error("Error uploading images."); this._handleErrors(error); } }) Si uso una URL externa para image.src , todo funciona bien.
Aquí está el registrador con URL externa en funcionamiento:
[2022-02-01 16:44:38 UTC][Products] product.image { src: 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Image_created_with_a_mobile_phone.png/220px-Image_created_with_a_mobile_phone.png', position: 1 }Y el src local que no funciona:
product.image { src: '/Users/radoslav/Server/projects/tmp/pics/264-426.png', position: 1 } La ruta es correcta y la imagen 264-426.png existe.
¿Alguna sugerencia, qué estoy haciendo mal o es posible subir una imagen a Shopify desde un enlace local?
Está intentando cargar una imagen desde una ruta relativa local que es incorrecta en este momento.
Pero no estoy seguro de si la API maneja las imágenes locales con la ruta adecuada e incluso si usa la ruta absoluta.
El mejor enfoque será leer la imagen con Node.js y convertirla a Base64 y pasarla de esa manera. Puede consultar los documentos aquí: https://shopify.dev/api/admin-rest/2021-07/resources/product-image#[post]/admin/api/2021-07/products/{product_id}/ imágenes.json
Además, tenga en cuenta que async/await await no funciona en una función forEach . Entonces, en este momento, está apilando todas las cargas al mismo tiempo y la API no estará contenta.
PD: Saluda de mi parte a Zoro/Marto & Evgeni. ;)