Wenn ich die DocX librairy verwende, erzeuge ich das docx Dokument auf dem Server und lade es herunter..Net C# DocX librairy: Wie wird ein DocX-Dokument serialisiert?
Dafür muss ich mein Dokument in einem Array von Bytes konvertieren.
, das zu tun, i previousloy wurde das Dokument als eine physische Datei wie folgt zu speichern:
// Save all changes to this document.
document.SaveAs(GENERATED_DOCX_LOCATION);
return System.IO.File.ReadAllBytes(GENERATED_DOCX_LOCATION);
, aber ich würde lieber nicht tun. Ist es möglich, dieses Objekt zu serialisieren, um es herunterzuladen, ohne es physisch zu speichern?
Ich habe bereits versucht, dass:
private byte[] ObjectToByteArray(object obj)
{
if (obj == null)
return null;
BinaryFormatter bf = new BinaryFormatter();
using (MemoryStream ms = new MemoryStream())
{
bf.Serialize(ms, obj);
return ms.ToArray();
}
}
mit:
return this.ObjectToByteArray(document);
Aber offensichtlich hat DocX nicht ISerializable implementieren.
EDIT: der folgende Code nicht entweder
byte[] byteArray = null;
using (var stream = new MemoryStream())
{
document.SaveAs(stream);
byteArray = stream.ToArray();
}
return byteArray;
ist dies ein Webserver und intern zu Ihrer Organisation? –
ja es ist ein privater Server, von einem engagierten Team verwaltet –
Werfen Sie einen Blick auf diese dann und das sollte Ihnen geben, was Sie brauchen (es sei denn, Sie MVC verwenden, die eine andere Antwort sein wird, aber ich kann für Sie später eine Codierung brauche) aber ... das sollte funktionieren https://stackoverflow.com/questions/18477398/asp-net-file-download-from-server –