DocXライブラリを使用している場合、私はdocxドキュメントをサーバ上に生成してからダウンロードしています。.Net C#DocX librairy:DocXドキュメントをシリアライズする方法は?
そのためには、私の文書をバイト配列で変換する必要があります。私はpreviousloyこのような物理的なファイルとして文書を保存して、それを行うために
:
// Save all changes to this document.
document.SaveAs(GENERATED_DOCX_LOCATION);
return System.IO.File.ReadAllBytes(GENERATED_DOCX_LOCATION);
私はむしろそれをしないだろう。物理的に保存せずにこのオブジェクトをダウンロードしてシリアル化することは可能ですか?
私はすでに試したこと:で
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();
}
}
を:
return this.ObjectToByteArray(document);
しかし、明らかに、DOCXは、ISerializableを実装していません。
EDIT:以下のコードはどちらか動作しません
byte[] byteArray = null;
using (var stream = new MemoryStream())
{
document.SaveAs(stream);
byteArray = stream.ToArray();
}
return byteArray;
これはウェブサーバーであり、組織の内部ですか? –
はいそれは専用のチームで管理されているプライベートサーバです –
これを見てください。これは必要なものを提供するはずです(MVCを使用していない限り、これは別の回答になりますが、これはうまくいくはずですhttps://stackoverflow.com/questions/18477398/asp-net-file-download-from-server –