上传后的小文件应该写入数据库还是直接保存在服务器的文件夹中?

很多网站都有上传图片之类的上传小文件的功能。于是我就想提出疑问:上传后的小文件是应该把文件化成二进制流的方式写入数据库;还是直接保存在文件夹中,仅仅在数据库中存储文件保存... 很多网站都有上传图片之类的上传小文件的功能。
于是我就想提出疑问:
上传后的小文件是应该把文件化成二进制流的方式写入数据库;还是直接保存在文件夹中,仅仅在数据库中存储文件保存的地址呢?抑或是其他的方法呢?
求正解……

开发语言:C#
数据库:sql08
软件:vs08
展开
 我来答
护卫神
2015-11-13 · TA获得超过1639个赞
知道大有可为答主
回答量:3887
采纳率:76%
帮助的人:1359万
展开全部
文件还是放服务器的文件夹好,不然数据库大了,对性能需求很高。
想文字信息,则放数据库好些。
声鸾U1
2011-09-03 · TA获得超过651个赞
知道小有建树答主
回答量:1195
采纳率:33%
帮助的人:499万
展开全部
个人认为 应该是根据用户上传的文件不同选择不同的存储方式.例如"图片"存数据库,"程序"存路径
"歌曲" 存路径 也许有100个人同时上传保存同一首歌曲,就应该只保存1个mp3文件.其他的都引用保存路径 等等...... 哎,任务难做啊.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
asp20
2011-09-02 · TA获得超过149个赞
知道小有建树答主
回答量:87
采纳率:0%
帮助的人:105万
展开全部
个人觉得是直接保存到文件夹中,然后在数据库中存储文件保存地址,可以把文件夹的名称设置为一个guid, 或者一个用户 一个文件夹。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狂奔f0
2011-09-03
知道答主
回答量:13
采纳率:0%
帮助的人:3.3万
展开全部
保存文件地址省事
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jamikabin
推荐于2017-11-24 · TA获得超过1600个赞
知道小有建树答主
回答量:1015
采纳率:0%
帮助的人:766万
展开全部
小文件其实可以保存在服务器上特定目录,数据库中记录文件名和格式,小文件转化成二进制文件保存。使用时再转化回来。
也可以 BLOB格式存储到数据库中。
这两种方法都是可以实现的。

只不过各有优缺点。
直接存储到数据库中当数据库备份时,小文件同时被保存,不会出现遗漏。
本地文件存储时备份数据库时,小文件转化成的二进制文件没有被保存,日后恢复恐怕比较难。
另外,二进制文件被替换后,就不能被程序正确处理,存在安全隐患。你懂吧~

而直接存储到数据库中,文件大小应该是有限制的,太大的文件不宜存储于数据库中。
其实具体到程序中,可以作成可以手工配置的,可以选择存储方式,可以选择文件大小限制。
这样即使客户的需求有变化,也可以自己变更,不需要更改代码。
更多追问追答
追问
我不明白你的意思……你这里只说写入数据库中,好似没有本地保存。而且你说的安全隐患是指写入数据库还是本地保存?具体隐患是什么?

请你给我个详细回答,我会给你追加分数的……
追答
写入数据库就是直接以数据库中的一个字段存储一个小文件,BLOB类型的数据,你上网查查就知道了。这中存储在数据库中的数据在本地是没有保存的,因为是直接从数据库中读取的。

直接存储在本地的话,如果黑客入侵到你的数据服务器,修改服务器上存储的小文件后,你的小文件就发生了变更,这就是安全隐患,怎么不明白?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式