Jump to content

Subir imagenes por webservice


rmoncho

Recommended Posts

Hola a todos, tengo la necesidad de subir imágenes a la tienda virtual por programación. Buscando en la documentación he encontrado el siguiente código.

$url = 'http://MiTienda/api/images/products/1';  
$image_path = 'MiImagen.jpg';
$key = 'MiClave';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
//curl_setopt($ch, CURLOPT_PUT, true);
curl_setopt($ch, CURLOPT_USERPWD, $key.':');
curl_setopt($ch, CURLOPT_POSTFIELDS, array('image' => '@'.$image_path));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: image/jpg'));

$result = curl_exec($ch);

curl_close($ch);

No saca ningun error pero tampoco inserta la imagen deseada al producto tal y como lo indico en la url.

 

¿Alguien tiene un metodo efectivo de subir imagenes? Gracias.

Link to comment
Share on other sites

Ese código construye un formulario de edición de clientes, lo que yo busco es hacerlo por programación cosa que he conseguido menos el tema de las imágenes. Necesito añadir/editar las imágenes asociadas a productos, categorías i demás por programación.

Link to comment
Share on other sites

Tema solucionado.

 

La imagen se debe enviar como:

curl_setopt($ch, CURLOPT_POSTFIELDS, array('image' => '@'.$image_path));

Y tambien hay que omitir la opcion CURLOPT_HTTPHEADER.

 

Gracias por el feedback!

Link to comment
Share on other sites

Tema solucionado.

 

La imagen se debe enviar como:

curl_setopt($ch, CURLOPT_POSTFIELDS, array('image' => '@'.$image_path));

Y tambien hay que omitir la opcion CURLOPT_HTTPHEADER.

No se te olvide añadir la palabra "Solucionado": https://www.prestashop.com/forums/topic/269515-solucionado-%C2%BFcomo-poner-la-palabra-solucionado-en-el-titulo-del-tema/ al titulo del tema, y marcar el botón "Mark Solved" en la solución.

 

Un saludo y gracias por la colaborar con la Comunidad de Prestashop

Link to comment
Share on other sites

  • 1 year later...
On 2/5/2017 at 8:37 PM, nadie said:

No se te olvide añadir la palabra "Solucionado": https://www.prestashop.com/forums/topic/269515-solucionado-%C2%BFcomo-poner-la-palabra-solucionado-en-el-titulo-del-tema/ al titulo del tema, y marcar el botón "Mark Solved" en la solución.

 

Un saludo y gracias por la colaborar con la Comunidad de Prestashop

 

Esto funciona, pero si el fichero está ubicado localmente en el ordenador en vez del servidor, no funciona. Alguien sabe como indicarle a la función curlfile que el fichero está en el ordenador? ej: c:\fotos\casa.jpg
Gracias!!

Link to comment
Share on other sites

@Victor Casajuana Mas

 

Puedes explicar que es lo que quieres hacer, si te refieres a la imagen que se envia usando el service tienes que tenerla donde este el script en ese punto no tienes otra opcion, si te refieres a descargar una imagen es otra historia

 

Ahora si tienes las imagenes en tu ordenador simplemente corre el scrip desde tu maquina

Link to comment
Share on other sites

  • 4 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...