OpenXML 문서를 (템플릿으로) 조작하는 것으로 서버 응용 프로그램은 새 내용을 임시 파일로 저장 한 다음 사용자에게 다운로드하여 다운로드합니다.스트리밍 OpenXML 결과
질문은 서버에 임시 파일로 저장하지 않고 다운로드 할 준비가되어있는 방법입니까? OpenXML 결과를 파일로 저장하는 대신 byte[]
또는 Stream
으로 저장할 수 있습니까?
OpenXML 문서를 (템플릿으로) 조작하는 것으로 서버 응용 프로그램은 새 내용을 임시 파일로 저장 한 다음 사용자에게 다운로드하여 다운로드합니다.스트리밍 OpenXML 결과
질문은 서버에 임시 파일로 저장하지 않고 다운로드 할 준비가되어있는 방법입니까? OpenXML 결과를 파일로 저장하는 대신 byte[]
또는 Stream
으로 저장할 수 있습니까?
이 페이지를 사용하여 : OpenXML file download without temporary file
나는이 일에 내 코드를 변경 :
byte[] result = null;
byte[] templateBytes = System.IO.File.ReadAllBytes(wordTemplate);
using (MemoryStream templateStream = new MemoryStream())
{
templateStream.Write(templateBytes, 0, (int)templateBytes.Length);
using (WordprocessingDocument doc = WordprocessingDocument.Open(templateStream, true))
{
MainDocumentPart mainPart = doc.MainDocumentPart;
...
mainPart.Document.Save();
templateStream.Position = 0;
using (MemoryStream memoryStream = new MemoryStream())
{
templateStream.CopyTo(memoryStream);
result = memoryStream.ToArray();
}
}
}
WordprocessingDocument를 만든 다음 Save()
메서드를 사용하여 Stream
에 저장할 수 있습니다.
를가 [] 바이트로 변환 할 필요가 다운로드 만 없다면. 스트림 위치를 0으로 설정하면됩니다. – user3285954