0
私はPDF
を生成するためにiTextSharp
を使用していますが、それをS3のバケットに保存することはできません。私はこのようなエラーが発生し続けている "クローズドストリームにアクセスすることはできません"。MemoryStream閉鎖エラー
using (MemoryStream ms = new MemoryStream())
{
PdfWriter outputWriter = PdfWriter.GetInstance(newPDF, ms);
newPDF.Open();
PdfContentByte cb1 = outputWriter.DirectContent;
for (int pagesToAddFromSourcePDFToNewPDF = 0; pagesToAddFromSourcePDFToNewPDF < soa_total_pages; pagesToAddFromSourcePDFToNewPDF++)
{
if (pagesToAddFromSourcePDFToNewPDF > 0)
{
currentPageInSourcePDF++;
}
newPDF.NewPage();
PdfImportedPage page = outputWriter.GetImportedPage(sourcePDF, currentPageInSourcePDF);
cb1.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
}
filesCreated++;
// Upload stream to AWS
ms.Position = 0;
using (var transferUtility = new TransferUtility(client))
{
transferUtility.Upload(ms, "mybucketname", "1/soa/" + newPDFFilename); // ERROR IS THROWN HERE
}
newPDF.Close();
}
/ボブ
iTextSharpがストリームを単独で閉じるようです。例外はどこで起こりますか? –
MSに時計を置くと、transferUtility()が実行されたときに例外がスローされることがわかります。しかし、実際にcatchハンドルにジャンプする前に、コードはnewPDF.Close()になります。 –
私がFileStreamを使用すると、それは魅力のように機能することに注意してください。しかし、それは私がテストのためにローカルに保存するときです。 –