0
我正在使用iTextSharp
生成PDF
,並且不想在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,它就像一個魅力。但那是我在本地保存以進行測試的時候。 –