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 2019-05-10 12:31:45

Akuket
Member
Registered: 2019-05-02
Posts: 3

Envoie d'un fichier

Bonjour

J'essaie d'envoyer un fichier pour un suivi de ticket dans glpi mais je suis confronté à un problème. J'obtiens cette réponse
"{\"id\":1685,\"message\":\"Fichier /opt/glpi/files/_tmp/1557483496-5669 introuvable.\",\"upload_result\":{\"file\":[{\"name\":\"1557483496-5669\",\"size\":0,\"type\":\"\",\"error\":\"Aucun fichier n'a été téléchargé\",\"prefix\":\"5cd54fe88a1e29.32903384\",\"display\":\"1557483496-5669\",\"filesize\":\"0 o\",\"id\":\"docfile575661133\"}]}}"

Avec ce code (c# avec utilisation de la lib restsharp)

        private string SendFile(string method, MemoryStream stream, string jsonParams)
        {
            var RSClient = new RestClient(glpiURL);

            var request = new RestRequest(method, Method.POST);
            if (basicAuth != null) request.AddHeader("Authorization", "Basic " + basicAuth);
            if (sessionToken != null) request.AddHeader("Session-Token", sessionToken);
            if (userToken != null) request.AddHeader("Authorization", "user_token " + userToken);
            if (appToken != null) request.AddHeader("App-Token", appToken);

            request.AddHeader("Accept", "application/json");
            request.AddHeader("Content-Type", "multipart/form-data");
            // Only one file for the moment
            request.AddQueryParameter("uploadManifest", jsonParams);
            request.AddFile("file", stream.ToArray(), "");

            IRestResponse response = RSClient.Execute(request);
            return response.Content;
        }

Et voici les paramètres de la requête
{uploadManifest={"input":{"items_id":"2602","itemtype":"Ticket","is_private":"0","content":"Fichiers joints","requesttypes_id":"2","name":"test.png","_filename":"defaultFileName"}}}

Si quelqu'un a une idée ou besoin de précision ?
Merci d'avance

Offline

#2 2019-05-10 14:24:17

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,287

Re: Envoie d'un fichier

regardez ici au sujet de l'upload :
https://github.com/orthagh/glpi_api_upload


Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9

Offline

#3 2019-05-13 12:01:54

baltius
Member
Registered: 2019-04-11
Posts: 4

Re: Envoie d'un fichier

Bonjour, nous avons senseiblement le même problème

Nous avons bien regardé le projet github au sujet de l'upload. notre problème se situe au delà de ce jalon. Nous arrivons bien à enregistrer un item de type "Document" dans GLPI.
Notre problème se trouve au niveau de l'association de ce document au ticket GLPI.

Nous avons cru comprendre en détricotant les sources que les variables "itemtype" et "itemsid" (plus trop sur des orthographes exactes de ces variables" dans un tableau "input" de ma trame JSON.

Mais qu'importe, les documents ne sont jamais rattachés à mes tickets.

Pour faire au plus simple, serait-il possible d'avoir une trame JSON d'appel à apirest.php :
Dans le cadre d'une creation de ticket ?
Dans le cadre de l'association d'un document avec un ticket ?

Merci d'avance pour l'aide que vous pourriez nous apporter ..!

Offline

Board footer

Powered by FluxBB