Enregistrer un pdf sur le serveur [Résolu]

Signaler
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
bonjour,
Je cherche à enregistrer un fichier pdf sur le serveur.
Ce pdf a une source un fichier rdlc

Le flux est généré puis affiché par le code :
Public

Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

' Retrouve le PDF stock‚ en session
Dim PDFFile AsByte() = context.Session("PDFReport")
If (PDFFile Is DBNull.Value)
Then
Exit
Sub
EndIf

' Renvoie un flux "application/pdf" vers le navigateur
context.Response.Clear()
context.Response.ClearHeaders()

context.Response.AddHeader("content-length"
, PDFFile.Length.ToString())

context.Response.ContentType =
"application/pdf"
context.Response.BinaryWrite(PDFFile)
context.Response.Flush()

EndSub

Ce code m'affiche le flux dans une iframe en reproduisant le pdf, très bien.
En mettant à la place 
=>  context.Response.AddHeader(
"Content-Disposition",
"attachment; filename=monFichier.pdf")

je tombe sur la boite de dialogue "Ouvrir", "enregistrer" ...mais enregistrer sur le poste-client !
Bon, le serveur a le flux dans le creux de la main, et ensuite ?
Comment enregistrer le fluxdans un pdf sur le Serveur ?
un petit tuyau ?

SuperBouly
PS. Je n'ai pas CrystalReport, sinon, ce serait sans doute + facile et tout fait.

1 réponse

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonjour,

File.WriteAllByte ?

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant