我应该动态重新创建PDF,而不是将其存储在数据库或文件系统中吗?

Ton*_*ony 6 c# asp.net sql-server-2005 itext

我需要客户能够下载已发送给他们的信件的PDF.

我已经阅读了关于数据库与文件或图像的文件系统存储的线程,听起来有点共识是,对于除了少量图像之外的任何东西,文件系统都是可行的方法.

我想知道的:

  • 合理的替代方案是将字母详细信息存储在数据库中,并在请求时"动态"重新创建PDF吗?
  • 这种方法优于或低于从文件系统中获取PDF吗?

Ada*_*rce 9

如果是出于存档目的,我肯定会存储PDF,因为将来,您的PDF生成脚本可能会更改,然后该字母与最初发送的字母不完全相同.客户将期望它完全相同.

哪种方法更优越并不重要,有时最好采用哪种方法更安全.


Phi*_*eck 3

我把它存放起来有两个原因

1) 如果您更改了生成 PDF 的方式,您可能不希望历史项目发生更改。如果每次都生成它们,要么它们会改变,要么您需要保留兼容性代码来生成“旧式”记录

2)磁盘空间便宜。用户的耐心不是。除非您确实需要存储或提取存储比生成 PDF 更困难,否则请善待您的用户并将其存储起来。

显然,如果您每小时从稀疏数据集中创建数千个这样的数据,您可能没有足够的存储空间。但如果你有空间,我会投票支持“使用它”