Enregistrer un pdf sur le serveur

Résolu
SuperBouly Messages postés 410 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 8 mai 2010 - 12 mars 2008 à 20:50
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 12 mars 2008 à 21:16
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

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
12 mars 2008 à 21:16
Bonjour,

File.WriteAllByte ?

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