.net - 用户图像——数据库与文件系统存储

标签 .net database image filesystems storage

<分区>

我正在 .NET 中编写一个上传函数,用于在用户配置文件上展示图像。我正在两种不同的方式之间进行选择,并想就利弊提出建议和意见。

  1. 将图片直接存储在文件系统上

  2. 将图片存入数据库

到目前为止,我主要支持第一种选择——以用户名命名图像,因为每个用户只能有一个演示图像。然后我在指定的路径中检查用户是否有图像,如果没有则显示默认的“无图像”-图像。

我喜欢它的另一点是它节省了数据库中的空间——如果没有额外的二进制负载,数据库将非常沉重。

我敢肯定还有其他方面我没有考虑过,所以我想听听您对此的意见。如果有人对问题有完全不同的解决方案,也请分享!

最佳答案

一般情况下,文件最好存放在文件系统上。文件系统已经针对存储文件进行了调整。然而,这确实有其缺点,特别是在管理、备份、恢复方面,并且它在数据库中的 varchar 文件路径字段和文件系统中的文件之间有点脆弱。你用的是什么数据库系统?我认为,如果您使用的是 SQL Server 2008,新的 FileStream 类型提供了一种在该数据库中存储文件的非常好的方法。

编辑:请注意,我实际上是在更笼统地谈论在数据库中存储文件。尝试将要在 HTML 页面上显示的图像存储在数据库中会涉及一些额外的复杂性。

关于.net - 用户图像——数据库与文件系统存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/585224/

相关文章:

MYSQL - 最佳数据结构

image - 防止 session 过期?

javascript - Adipoli jQuery 图像悬停效果

image - 如何在Groovy中调整图像大小?

c# - 相关实体未加载

c# - Entity Framework 中的递归实体分离

python - Python 中的 ModbusTCP 服务器/从站实现 (pymodbus)

c# - WPF 中线程的一个非常基本的解释?

c# - SignalR:无法使用任何可用传输连接到服务器

python - Django:有什么方法可以将连续的 model.save() 操作作为 1 个数据库请求执行?