返回内存流 - 提供损坏的PDF文件或"无法访问已关闭的流"

 旭89浪子_499 发布于 2023-02-13 19:13
  • php
  • 1 个回答
    • 重用流可能会有问题,特别是如果您使用抽象并且您不太清楚它对您的流做了什么.因此我通常建议不要自己传递溪流.如果可以使用它,请尝试传递原始底层字节数组本身.但是如果需要传递流,那么我建议仍然在最后执行原始字节数组,然后将其包装在新的第二个流中.尝试以下代码,看看它是否有效.

      public Stream Generate(GiftModel model)
      {
          //We'll dump our PDF into these when done
          Byte[] bytes;
      
          using (var ms = new MemoryStream())
          {
              using (var doc = new Document())
              {
                  using (var writer = PdfWriter.GetInstance(doc, ms))
                  {
                      doc.Open();
                      doc.Add(new Paragraph("Hello"));
                      doc.Close();
                  }
              }
              //Finalize the contents of the stream into an array
              bytes = ms.ToArray();
          }
          //Return a new stream wrapped around our array
          return new MemoryStream(bytes);
      }
      

      2023-02-13 19:14 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有