我有一个我在Visual Studio中创建的asp.net
网站,我对如何在我的数据库中存储图片感到难过。
我做了一些研究,并且认为将图像存储在目录中然后将它们的引用存储在数据库中比使用BLOB更好。但是,我找不到任何关于如何通过Visual Studio执行此操作的好教程,并且对于创建目录/引用它们来说是全新的。
在某些时候我想允许用户添加与特定数据库条目绑定的图像,并且我的网站周围也会有很多图像/横幅,所以我很确定BLOB不是更好。是否有创建和引用目录的最佳实践,我该怎么做呢?
答案 0 :(得分:2)
在.NET中,每个文件都有FullName属性,这基本上是文件系统中文件的完整路径。
这是一个最多260个字符的字符串,因此您需要做的就是将此完整路径存储在nvarchar(260)列中,当您需要访问该图像时,只需在代码中查询数据库即可获得此完整路径用它来显示或操纵(File.Copy, File.Delete, File.Move)文件。
如果您打算以编程方式创建用于存储图像的文件夹,只需使用Directory.CreateDirectory Method或检查目录是否存在使用Directory.Exists Method。
编辑:正如Jeff Cuscutis所指出的那样,absoulte路径通常不是最佳选择,因此解决方案是使用UNC路径(\\ ComputerName \ ShareName \ DirectoryName \ FileName.extension),其中ComputerName和ShareName可以是存储的变量在设置或其他地方...答案 1 :(得分:0)
基本上有两种选择。您可以保存文件的路径,也可以直接保存文件。
不太确定您使用的是哪个数据库,但这是一个sql-server
示例