0

我有一个asp.net在 Visual Studio 中创建的网站,我不知道应该如何在我的数据库中存储图像。

我做了一些研究,并认为将图像存储在目录中,然后将它们的引用存储在数据库中优于使用 BLOB。但是,我找不到任何关于如何通过 Visual Studio 执行此操作的好的教程,并且对于创建目录/引用它们是全新的。

在某些时候,我希望允许用户添加与特定数据库条目相关联的图像,并且在我的网站周围也会有许多图像/横幅,所以我很确定 BLOB 不是可取的。是否有创建和引用目录的最佳实践,我应该如何去做?

4

2 回答 2

2

在 .NET 中,每个文件都有FullName属性,它基本上是文件系统中文件的完整路径。

这是一个最多 260 个字符的字符串,因此您需要做的就是将此完整路径存储在 nvarchar(260) 列中,当您需要访问图像时,只需在代码中查询数据库以获取此完整路径并使用它来显示或操作(File.Copy、File.Delete、File.Move)文件。

如果您打算以编程方式创建文件夹来存储图像,只需使用Directory.CreateDirectory 方法或检查目录是否存在使用Directory.Exists 方法

编辑:正如 Jeff Cuscutis 指出的那样,绝对路径通常不是最佳选择,因此解决方案是改用 UNC 路径(\\ComputerName\ShareName\DirectoryName\FileName.extension),其中 ComputerName 和 ShareName 可以是存储在设置或别处...

于 2013-09-05T17:29:55.623 回答
0

基本上有两种选择。您可以保存文件的路径,也可以直接保存文件。

不太确定您使用的是哪个数据库,但这是一个sql-server示例

如何将图像存储在 SQL Server 数据库表列中

还有一个关于如何在 SQL Server 中存储或保存图像的好例子

于 2013-09-05T17:25:24.017 回答