C#:将图像保存到DB

| 有人可以给我一些有关如何将图像文件保存到C#中的DB中的建议吗? 我将保存大量图像,所以减小空间的最佳方法是什么 需要吗? 我目前正在使用DB中的varbinary(max)字段。 谢谢!     
已邀请:
如果必须将实际文件存储在SQL中,请确保对图像大小设置一些限制,并确保正确规划数据库的大小-期望多少个图像和什么大小? 如果必须将其存储在SQL中,我的偏好是自动将其放在自己的SQL数据库中。这样,我在这些映像中遇到的任何性能问题都不会影响数据库的其余部分。 现在,如果您不必将图像存储在SQL数据库中,那么我认为这只是要求使用Azure Blob存储来完成。请看一下它-它会为您提供非常高效的系统中想要的东西。 如果您不能使用Azure,则应该将一个类组合在一起,该类将处理对文件系统的图像读取/写入/查找。保存到文件系统(正确完成)比保存到SQL要好得多。     
那就好了。但是,如果这些映像很大,并且您的DBA可能不再喜欢oyu将它们放在其中,则可以将它们放在驱动器上某个位置,然后将位置存储在DB中。 我猜有很多方法可以解决这个问题。权衡利弊即可。 我只是给你一个选择。     
在数据库中存储图像不是一个好主意。您可以将URL存储到图像。     
图片是什么格式,您正在使用什么数据库技术? 一种选择是将图像转换为二进制数组,然后将其推送到数据库。我在codeproject上找到了一些不错的代码来解决这个问题: http://www.codeproject.com/KB/aspnet/ImageInDatabase.aspx     
就像Magnus所说的那样,FileStreams不存储在数据库的页面中,因此它不会影响性能。 尽管将文件存储在数据库中意味着您的数据库备份将变得更大。 有人提到只存储URL。这也是一个好主意,对于简单的设置来说,可能是性能最高的。     

要回复问题请先登录注册