You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2020-01-21 14:54:41

ben2249
Member
From: FRANCE
Registered: 2019-12-03
Posts: 35

Envoi de fichier

Bon et bien c'est pas de chance.. Entre l'enquête de satisfaction et les documents, je m'arrache les cheveux..

Quelqu'un aurait-il un exemple de code d'upload de document en php curl ? J'aimerais ne passer que par l'api de GLPI dans la mesure où c'est un plugin pour wordpress que je code...

Ce qui me défait, c'est que je n'ai aucun retour d'erreur, jamais. Ni dans les logs ni dans le json.. Du coup je tente des choses mais je pense m'éloigner à chaque fois un peu plus..

Voici où j'en suis dans mes essais..

        
        [...]
   
        $uploadManifest='
                    "input":
                    {
                        "users_id":"'.$userid.'",
                        "tickets_id":"'.$tickets_id.'",
                        "name":"uploaded document",
                        "_filename":["'.$filename.'"]
                    }
       ';

// file=@"'.$path.'"
        $fin_url     = "?session_token=$this->sess_token&app_token=$this->app_token";
        $url         = $this->api_url ."/Document/$fin_url";
        $ch          = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'Content-Type: multipart/form-data',
                'Session-Token: '.$this->sess_token)
        );

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
      //  curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array( 'file' => $this->curlFile( $file ) , 'uploadManifest' => $uploadManifest)));
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
        $json        = curl_exec($ch);

        if(!$json){
            $this->error = 'Erreur Curl : ' . curl_error($ch);
            curl_close ($ch);
            return false;
        }else{
            $obj = json_decode($json,true);
            curl_close ($ch);
            var_dump($obj);
            return true;
        }

    }

    public  function curlFile( array $file ) {
        return new CURLFile( realpath( $file["tmp_name"] ), $file["type"], $file["name"] );
    }

Offline

#2 2020-01-23 16:07:07

ben2249
Member
From: FRANCE
Registered: 2019-12-03
Posts: 35

Re: Envoi de fichier

Bonjour,

Sincèrement je commence à m'épuiser... Des heures d'essais en vain.. Vraiment personne pour aider ?

Offline

Board footer

Powered by FluxBB