Bonjour
Coté serveur j'ai une methode qui me prepare un download de fichier
Et coté client j'appelle cette méthode
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
17
18 [Route("downloaddocheadpdf/{docHeadId}")] [HttpGet] public HttpResponseMessage DownloadDocHeadPdf(int docHeadId) { string docnumber; byte[] file = DocHeaderBiz.DownloadDocHeaderPdf(docHeadId, out docnumber); var response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(new MemoryStream(file), file.Length), }; response.Content.Headers.Add("Access-Control-Expose-Headers", "content-disposition"); response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = docnumber + ".pdf" }; return response; }
Jusque là tout va bien !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 string Req = string.Format("api/docheader/downloaddocheadpdf/{0}", DocHeadId); var request = getRequest(Req, Method.GET); var response = client.Execute<HttpResponseMessage>(request);
La methode du serveur est bien appelée
La réponse est correctement garnie (coté serveur)
Mais si j'analyse la reponse coté client rien va plus
Le response.data est null
Par contre le watch de response me montre bien un content qui ressemble a ce qu'on attends qui mais qui a l'air corrompu
Et j'y vois une erreur "Data at the root level is invalid. Line 1, position 1."
Donc a priori je ne sais pas comment utiliser ma reponse ou faire en sorte qu'elle soit utilisable
Le but bien entendu etant de resauver le fichier coté client
Je fais peut etre une grosse betise qq part mais tout est dans le code ci joint !
Quelqu'un a une idée ?
Merci de votre aide
Partager