老实说,我不知道文件流是如何工作的。这是我第一次使用和尝试它。因此,我能够将数据存储在文件流列中,但我不知道如何检索它或检索它后它应该如何看待。是否可以只单击一个按钮,然后文件流列中的文件就会打开?例如,我在数据库中存储了一个 ms 文档文件,然后该文件将在 microsoft word 中打开,或者我存储了一个 pdf,然后该文件将在 pdf 阅读器中打开。可能吗?
如果这是一个愚蠢的问题,我很抱歉。呵呵。谢谢你。
老实说,我不知道文件流是如何工作的。这是我第一次使用和尝试它。因此,我能够将数据存储在文件流列中,但我不知道如何检索它或检索它后它应该如何看待。是否可以只单击一个按钮,然后文件流列中的文件就会打开?例如,我在数据库中存储了一个 ms 文档文件,然后该文件将在 microsoft word 中打开,或者我存储了一个 pdf,然后该文件将在 pdf 阅读器中打开。可能吗?
如果这是一个愚蠢的问题,我很抱歉。呵呵。谢谢你。
FILESTREAM
从开发人员的角度来看,看起来与普通varbinary(max)
列没有什么不同。这意味着您将存储二进制大对象 (BLOB)。SQL Server 随后会将这些 BLOB 作为文件存储在文件系统上,而不是直接将它们存储在数据库中。
您可以将其完全视为varbinary
.NET 端的列。获取您想要存储的任何数据,将其转换为byte
数组,然后将其保存到数据库中。
当您检索它时,它将再次位于byte
数组中。您需要对它进行一些操作才能使其有用(将其写入本地文件,处理并显示它等)
旁注,如果启用,您还可以使用 Win32 API 访问 FILESTREAM BLOB。有关更多信息,请参阅此链接。