Ecrire en mémoire avec le SDK Open XML 2.0
Bonjour,
je voudrais savoir comment m'y prendre avec le SDK Open XML 2.0 afin d'écrire en mémoire plutôt que sur le disque dur du serveur, voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Dim filepath As String = Server.MapPath(".") & "\new.docx"
Dim fichier_info As New System.IO.FileInfo(filepath)
Using package As WordprocessingDocument = WordprocessingDocument.Create(filepath, WordprocessingDocumentType.Document)
package.AddMainDocumentPart()
package.MainDocumentPart.Document = New Document(New Body(New Paragraph(New Run(New Text("Bonjour à tous")))))
package.MainDocumentPart.Document.Save()
End Using
Response.Clear()
Response.Buffer = True
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename=" + fichier_info.Name)
Response.AppendHeader("Content-Length", fichier_info.Length.ToString())
Response.Flush()
Response.WriteFile(filepath)
Response.End() |
ainsi au lieu d'écrire dans "filepath" c'est à dire sur le disque du serveur, écrire en mémoire, puis le lire directement en mémoire pour l'envoyer au client.
WordprocessingDocument.Create(filepath, ...) semble ne prendre comme paramètre qu'un fichier disque, ou bien je ne sais pas rediriger vers la mémoire.
Si cela est possible de rediriger vers la mémoire, comment faire pour lire celle-ci afin de l'envoyer au client.
J'espère avoir été clair dans mon explication, et d'avance merci pour vos réponses.