相关疑难解决方法(0)

在DB中存储图像 - 是还是不?

所以我正在使用一个将图像存储在数据库中的应用程序.你对此有何看法?我更像是一种在文件系统中存储位置的类型,而不是直接将它存储在数据库中.

您认为利弊是什么?

database theory storage blob image

415
推荐指数
25
解决办法
59万
查看次数

要做或不做:将图像存储在数据库中

在Web应用程序的上下文中,我的老板总是说在数据库中引用了一个图像,而不是图像本身.我倾向于同意在数据库中存储网址与图像本身是一个好主意,但在我现在工作的地方,我们在数据库中存储了大量图像.

我能想到的唯一原因可能是它更安全吗?你不希望有人直接链接到网址吗?但如果是这种情况,您可以随时让网站/服务器处理图像,例如asp.net中的处理程序,以便用户需要进行身份验证才能查看图像.我也在考虑从数据库中提取图像会损害性能.将图像存储在数据库中可能是一个好/不太好的想法的任何其他原因?


完全重复: 用户映像:数据库还是文件系统存储?
完全重复: 在数据库中存储图像:是或不是?
完全重复: 我应该将我的图像存储在数据库还是文件夹中?
确切重复: 您是否将二进制数据存储在数据库或文件夹中?
完全重复:将 图片存储为Web应用程序的文件或数据库?
确切重复: 存储少量图像:blob还是fs?
精确复制: 将图像存储在文件系统或数据库中?

database performance blob

32
推荐指数
7
解决办法
4万
查看次数

将PDF文件存储为SQL Server中的二进制对象,是或否?

我必须为以下任务找到设计决策:

我有一个SQL Server数据库,它包含一个订单表.用户可以通过从网页上传的简单文件上传PDF文档并将其分配给订单.每个订单不超过一个文档(可能没有文档,从不超过一个).为此,用户打开网页,输入订单号,显示订单并单击上传按钮.所以我知道上传的文件属于哪个顺序.

现在我正在考虑将两种文件存储在Web服务器上的选项:

1)通过varbinary(MAX)列扩展我的订单表,并将PDF文档直接存储到该二进制字段中.

2)将PDF文件保存在磁盘上的特定文件夹中,并为其指定与订单相关的唯一名称(例如,我的订单号是数据库中的主键,或者是我可以存储在其他列中的GUID).订购表).也许我必须将文件存储在子文件夹中,每月一个,并将子文件夹名称存储到数据库的订单行中,以避免在一个文件夹中获取过多的文件.

存储PDF文件后,可以在输入相关订单号后通过浏览器下载和查看.

我倾向于选项(1),因为数据管理似乎更容易让我在一个数据库中拥有所有相关数据.但是我有点担心随着时间的推移我会遇到性能问题,因为我的数据库大小比解决方案(2)增长得快得多.大约90%甚至95%的数据库总大小仅由那些存储的PDF文件组成.

以下是一些其他信息:

  • PDF文件的大小约为100千字节
  • 每月大约1500个订单/ PDF文件
  • Windows Server 2008 R2/IIS 7.5
  • SQL Server 2008 SP1 Express
  • 不太确定硬件,我相信一个QuadCore Proc.和4 GB RAM
  • 应用程序是用ASP.NET Webforms 3.5 SP1编写的

(我知道在使用上述数字大约2年后,我将达到SQL Server Express版本的4GB限制.但我们可以忽略这一点,从数据库中删除旧数据或升级到完整许可证将是可能的选择.)

我的问题是:选项的Pro和Contra是什么,你会推荐什么?也许某人有类似的任务,可以报告他的经历.

提前谢谢你的回复!

有关:

在DB中存储图像 - 是还是不?

sql-server asp.net database-design binary-data

20
推荐指数
1
解决办法
5万
查看次数

将图像存储在数据库中

可能重复:
在DB中存储图像 - 是或否?

多年来,我被告知不要将图像存储在数据库中,也不要将任何大型BLOB存储在数据库中.虽然我可以理解为什么数据库没有/没有效率,我从来没有理解为什么他们不能.如果我可以将文件放在某处并引用它,为什么数据库引擎也不能这样做.我很高兴Damien Katz在最近的Stack Overflow播客中提到它,Joel Spolsky和Jeff Atwood,至少默默地同意了.

我一直在阅读Microsoft SQL Server 2008应该能够有效处理BLOB的提示,这是真的吗?如果是这样,有什么阻止我们在那里存储图像并摆脱一个问题?我能想到的一件事是,虽然图像可以很快地由静态Web服务器提供,如果它是某个文件,当它在数据库中时,它必须从数据库传输到Web服务器应用程序(这可能比静态Web服务器)然后它被服务.不应该缓存帮助/解决最后一个问题?

database blob image sql-server-2008

9
推荐指数
1
解决办法
5422
查看次数

数据库中的图像

是否可以在MYSQL数据库中存储图像文件(.jpg,.gif等)?或者只是在系统中存储并获取图像的参考路径?

我正在使用ASP.NET C#,所以如果你有示例代码,那么如果你可以分享它会很棒.

c# mysql database asp.net

5
推荐指数
2
解决办法
2298
查看次数

3
推荐指数
1
解决办法
1万
查看次数

我应该将图像作为二进制信息还是作为 FS 上的路径保存到数据库本身?

背景资料:

该应用程序是使用 SQLite 作为后端的 .NET 4/C# Windows 窗体。只有一个用户使用该数据库,并且绝不通过网络进行交互。

我的软件需要保存与项目记录关联的图像。我应该将图像作为二进制信息保存在数据库本身中吗?或者我应该将图片的路径保存在文件系统上并使用它来检索它。

另存为路径时我担心的是有人可能会更改图片的文件名,这基本上会破坏我的应用程序的使用。

有人可以给一些建议吗?通过网络互动。

.net c# sqlite image path

2
推荐指数
1
解决办法
2660
查看次数

将图像保存到硬盘或作为字节数组存储在数据库中?

可能的重复:
在数据库中存储图像 - 是还是否?

非常简单,我正在托管一个用户可以上传图片的网站,并且我有一个可以正常工作的 .net 文件上传控件。我只是想知道应该使用什么方法将它们存储在服务器上。

  • 我可以使用 FileUpload 控件的 SaveAs() 方法,将其保存为实际文件。
  • 我可以将图像分解为 Byte[] 并将其存储在数据库中以供访问。

我相信这里真正的问题是..我想要 IIS 还是 Sql Server 2008 R2 上的负载?

关于我应该使用哪种方法的普遍共识是什么?为什么?谢谢!

c# asp.net arrays file-upload

2
推荐指数
1
解决办法
2361
查看次数