Привет, ребята У меня есть этот массив байтов, который я хочу преобразовать в pdf и сделать его доступным для загрузки. Кто-нибудь знает, как это делается?Как преобразовать PDF Byte [] Массив в загружаемый файл с помощью iTextSharp
вот мой Action Controller
public ActionResult DownloadLabTestResult(string labTestResultID)
{
PdfReader pdfReader = new PdfReader("Xue_Tang.pdf");
MemoryStream stream = new MemoryStream();
PdfStamper stamper = new PdfStamper(pdfReader, stream);
pdfReader.Close();
stamper.Close();
stream.Flush();
stream.Close();
byte[] pdfByte = stream.ToArray();
// So i got the byte array of the original pdf at this point. Now how do i convert this
// byte array to a downloadable pdf? i tried the method below but to no avail.
MemoryStream ms = new MemoryStream(pdfByte);
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=labtest.pdf");
Response.Buffer = true;
Response.Clear();
Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
Response.OutputStream.Flush();
Response.End();
return new FileStreamResult(Response.OutputStream, "application/pdf");
}
Если у вас есть файл pdf на диске, вы можете прочитать его напрямую с помощью FileStream. –
Даже если вам нужен PdfStamper, похоже, что вам нужно много потоков, вам не нужно пар «ms», поток «stream» должен быть достаточным, но вы не должны закрывать его, прежде чем использовать его, вы можете попробовать: ms.Seek (0, SeekOrigin.Begin); " прежде чем добавлять его в OutputStream. –
oh ya, я всегда мог читать с локального диска, но я просто пытаюсь имитировать что-то здесь, где им предоставляется только массив байтов, и моя задача - преобразовать его в загружаемый файл, точно не знаю, как это сделать = p – Ari