У меня есть приложение .NET, которое создает 4 документа в формате .docx или .pdf, используя библиотеки DLL Aspose.words. Моя задача сейчас состоит в том, как доставить все 4 документа клиенту сразу после создания. Делал ли кто-нибудь это раньше, и если да, то как вы это делали? Я могу отправлять клиенту отдельные файлы, но когда я пытаюсь отправить несколько файлов, клиент получает только последний файл, указанный в коде. Например:
Dim CLdoc As New Document("C:/Temp/Cover Letter.docx")
Dim CLbuilder As New DocumentBuilder(CLdoc)
'Build CLDoc content
Dim MTdoc As New Document("C:/Temp/Master Terms.docx")
Dim MTbuilder As New DocumentBuilder(MTdoc)
'Build MTDoc content
CLdoc.Save(Response, "iama.docx", ContentDisposition.Inline, Nothing)
MTdoc.Save(Response, "iama1.docx", ContentDisposition.Inline, Nothing)
Единственный документ, который отправляется клиенту, — это «iama1.docx». Как я могу заставить приложение отправлять оба? Одна из моих идей заключалась в том, чтобы отправить оба файла в zip-архив и отправить его клиенту, но я действительно понятия не имею, как это сделать. Любые идеи?
РЕДАКТИРОВАТЬ
Используя Ionic Zip, я попытался сохранить сгенерированные файлы в поток памяти, добавить их в zip-архив и сохранить на диск (только временно для тестирования; в конечном итоге я отправлю zip-архив на клиентскую машину). Теперь моя проблема заключается в том, что файлы .docx, которые я добавил, пусты. Я делаю что-то не так, сохраняя сгенерированный файл в поток памяти?
Dim CLdoc As New Document("C:/Temp/Cover Letter.docx")
Dim CLbuilder As New DocumentBuilder(CLdoc)
'Build CLDoc content
Dim MTdoc As New Document("C:/Temp/Master Terms.docx")
Dim MTbuilder As New DocumentBuilder(MTdoc)
'Build MTDoc content
Dim CLDocStream As New MemoryStream
Dim MTDocStream As New MemoryStream
CLdoc.Save(CLDocStream, SaveFormat.docx)
MTdoc.Save(MTDocStream, SaveFormat.docx)
Using zip1 As New ZipFile()
zip1.AddEntry("CL.docx", CLDocStream)
zip1.AddEntry("MT.docx", MTDocStream)
zip1.Save("c:/Temp/test.zip")
End Using