Jump to content

WebService - Image


Recommended Posts

  • 3 weeks later...

Hello,

 

J'ai le même problème et je me torture bien le cerveau avec ça depuis quelques temps.

 

Je me suis posé la question si c'était possible d'ailleurs, et en lisant le code j'ai trouvé tout le nécessaire pour ajouter une image via les web services sauf qu'il y a certaines choses que je ne comprends pas.

Je vais exposer ce que j'ai compris, si ça peut lancer quelques pistes et arriver à un code fonctionnel.

 

Premièrement pour ajouter une image (du moins la première pour un produit), ça semble être sous l'url api/images/products/default/bin

 

Mon problème est qu'il attend à trouver mon image dans $_FILES['image'] (Fichier classes/WebserviceSpecificManagementImages.php ligne 941) ...

Ce n'est pas un envoi de formulaire classique (pas de <input type="file" donc), c'est un appel au webservice utilisant CURL via la class PrestashopWebservice.

 

Y a-t-il un moyen magique de simuler l'envoi d'un fichier en PHP et ainsi pouvoir le recevoir sous la variable $_FILES ?? J'ai cherché sur le net en vain.

 

Le code est écrit en ce sens, donc ça doit être possible...

 

Des idées ?

Link to comment
Share on other sites

  • 2 months later...

une piste dans ce code qui fonctionne pour les produits :

 

$img=$_SERVER["DOCUMENT_ROOT"].'/photos/large/truc.jpg';

$data = array('image'=>"@".$img.";type=image/jpeg");

   // envoie de l'image via CURL
   $curl = curl_init();
   curl_setopt($curl,CURLOPT_HEADER, 1);
   curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($curl,CURLINFO_HEADER_OUT, 1);
   curl_setopt($curl, CURLOPT_URL, 'http://www.tonsite.fr/api/images/products/12');
   curl_setopt($curl, CURLOPT_POST, 1);
   curl_setopt($curl, CURLOPT_HTTPAUTH, 'CURLAUTH_BASIC');
   curl_setopt($curl, CURLOPT_USERPWD, 'taclewebservice:');
   curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

   if(curl_exec($curl) === false)
   {
       echo 'Erreure ajout image : '.$img.' '.curl_error($curl).'<br>';
   }
   else
   {
       echo 'Image ajoutée avec succès : '.$img.'<br>';
   }

Link to comment
Share on other sites

  • 11 months 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...