在mysql中存储pdf

你如何在mysql的字段中存储PDF文档?

目前,我有一个客户列表,每个客户都有一个证书,其中包含有关其帐户的信息,可以提供给其他公司以certificate他们是我们的客户。 目前,他们的证书以pdf格式导出并通过电子邮件发送给在这里工作的人(客户也获得了物理副本),并且该人的邮箱中充满了这些电子邮件。 我更喜欢将它放在客户的记录中 – 允许通过我们内部CRM中的客户文件访问它。

我考虑将PDF放在一个文件夹中,并将其位置作为varchar存储在客户的记录中,但是如果PDF被移动/删除/等等。 然后我们上了一条小溪。

我的理解是,blob或mediumblob是我用来存储它的字段类型,但我在这方面有点无知。 我不确定如何在字段中存储类似的东西(c#datatype提供它),然后如何获取它并通过pdf阅读器打开它。

把它放在数据库中,但blob数据类型可能不会削减它。 中型通常就足够了。

Mysql数据类型

BLOB, TEXT L + 2 bytes, where L < 216 MEDIUMBLOB, MEDIUMTEXT L + 3 bytes, where L < 224 LONGBLOB, LONGTEXT L + 4 bytes, where L < 232 

我已经好几次使用了这个非常好的结果。 一定要保存文件大小,因为它可以更容易地检索它。 不确定它是否适用于C#,因为它适用于PHP。

如果使用带参数的预准备语句,数据将自动转义为AFAIK。

此外,我无法确定数据库本身在将此类数据存储在其中时会变慢的原因。 主要的瓶颈当然是数据的传输。 此外,mysql有时会限制查询的最大长度和特定的响应。

一旦你运行它,它非常整洁,特别是在处理大量小文件时。 对于少量大文件,这种方法没有意义,更好地使用一些备份系统来处理移动/删除的文件。

老实说,我认为使用链接而不是实际将文件插入数据库是最好的方法。 这样做会使数据库变得非常慢,并且会比它的价值更麻烦。

我会将文件上传到指定的文件夹,如“证书”,并使证书名称与客户编号一起使用,以便于查找和编辑,删除等。我看到人们将图像存储在数据库中,但即使这样也是建议不要。

如果您希望的方法绝对是必须的,请查看这篇文章:

http://www.wellho.net/mouth/1001_-pdf-files-upload-via-PHP-store-in-MySQL-retrieve.html

它解释了如何在mySQL数据库中存储和检索.pdf文件。

祝你好运!

我考虑将PDF放在一个文件夹中,并将其位置作为varchar存储在客户的记录中,但是如果PDF被移动/删除/等等。 然后我们上了一条小溪。

这就是我要采取的方法。 然后使用某些逻辑或许某些BPEL类型的东西 – 检测是否有任何文件移动/删除并触发数据库的触发器以正确更新位置/删除位置