C# 在sql中存储和检索动态创建的pdf
我一直在为我正在从事的一个项目创建pdf文档。我想将生成的pdf文档存储在SQL数据库中,然后稍后也可以检索此pdf 对此有什么建议?是否可以将文档存储在数据库中而不在服务器上实际创建文档 有什么建议吗 这文档是否可以存储在 数据库没有物理上的限制 在服务器上创建文档 当然,只需将pdf创建为字节流(C# 在sql中存储和检索动态创建的pdf,c#,sql,pdf,C#,Sql,Pdf,我一直在为我正在从事的一个项目创建pdf文档。我想将生成的pdf文档存储在SQL数据库中,然后稍后也可以检索此pdf 对此有什么建议?是否可以将文档存储在数据库中而不在服务器上实际创建文档 有什么建议吗 这文档是否可以存储在 数据库没有物理上的限制 在服务器上创建文档 当然,只需将pdf创建为字节流(byte[]),并将其存储在数据库中。根据您用来创建它的内容,您不必将它写入文件系统 事实上,关于在哪里存储它的争论。如果您使用的是SQL server 2008,则需要使用它。它将文件存储在文件系
byte[]
),并将其存储在数据库中。根据您用来创建它的内容,您不必将它写入文件系统
事实上,关于在哪里存储它的争论。如果您使用的是SQL server 2008,则需要使用它。它将文件存储在文件系统中,但您可以通过数据库访问它,就像访问任何其他数据一样。您可以两全其美。将PDF另存为
字节[]
,然后您可以在准备查看时使用itextsharp
创建PDF。这将再次引发支持/反对将内容存储在文件系统或sql server本身中的辩论
这真的取决于你的需要,你期望的大小,等等。这里有一些参考资料,每个都有更多的参考资料
请记住,SQL Server 2008现在具有
FILESTREAM
数据类型。您可以将数据写入文件系统,但仍将其存储在列中。您可以使用这样的表在SQL Server中存储文件
CREATE TABLE [Documents]
(
[FileName] nvarchar(1000),
[FileContent] varbinary(max)
)
有两种方法可以做到这一点:
我为什么选择这个答案??为了安全 原因有很多: 举个小例子:
- 如果您做了第一步(将文件存储在文件服务器中…),您将 正在数据库中装入文件夹。。因此,您的服务器将易受攻击 针对攻击或病毒
- 如果你做第二个。该文件将被编码并存储在数据库中 而且你不必担心攻击或机器感染