Bonjour,
J'essaie d'intégrer sur mon site de vente en ligne l'api de online-convert pour convertir des fichiers(principalement des images de mes produits) au format webp. Je veux que tout soit automatisé de la conversion au téléchargement directement dans le dossier spécifié de mon hébergeur.
La doc lorsque l'on veut upload un fichier
Donc je crée un un job (dont je précise la conversion à faire) mais sans "input" (joindre d'image), afin d'avoir l'objet en stand by et apporter des modifications plus tard (vous comprendrez lesquelles). Ceci fonctionne !
Ensuite vient le moment où je dois ajouter les images (input) à mon job et pour ça dans la doc il est dit que je dois faire ça via un post request.
Là je reçois un jolie : Warning: file_get_contents(http://www48.online-convert.com/dl/w...0f6cbe4592be): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 $options = array( 'http' => array( 'header' => array( "Content-type: multipart/form-data", "Cache-Control: no-cache", "x-oc-api-key: <API KEY>", "x-oc-upload-uuid: <RANDOM UUID>", ), 'method' => 'POST', 'content' => $FILES['file'], ), ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); var_dump($result);
Je n'ai jamais fait de post request en php (sans curl) j'ai regardé pendant deux jours des tutos pour comprendre comment cela fonctionne et la je suis honnêtement perdu. Le pire c'est qu'à part ce message je n'ai aucune autre indication sur d'où pourrais venir le problème.
Info à noter :
- Faire un postFullJob ( c-a-d envoyer tout d'un coup : les inputs, la conversion à faire...) marche parfaitement. Le problème c'est que le nom du fichier est tout bizarre lorsqu'il est télécharger et placé dans le dossier que je lui ai indiqué.
- Définir un nom à mon image avant de le télécharger fonctionne quand l'image que je lui fourni viens directement d'une url et non en local.
- Faire ce que je souhaite via ajax... ça fonctionne. Mais je souhaite uniquement en php et je suis sûr que c'est possible.
- J'ai tenté de faire des test via postman mais sans succés j'ai toujours la même erreur : 99 impossible d'upload l'image.
Donc voilà j'aimerai que quelqu'un me guide et m'explique qu'est ce qui ne vas pas avec mon post request et pourquoi leur maudit serveur ne veux pas accepter mon post request.
Je veux faire ça en php sans curl sans ajax car apparemment c'est possible et quand je teste un truc qui ne marche pas je veux savoir la fond de cette histoire. C'est comme un film sauf que là je me tape la tête contre le mur en plus
Merci par avance de votre aide cordialement. Haamome
Partager