首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在数据库上存储文件

在数据库上存储文件
EN

Stack Overflow用户
提问于 2010-08-28 04:16:25
回答 4查看 405关注 0票数 2

我必须以任何格式(XLS、PDF、DOC、JPG ...)保存文件。在使用Java的数据库中。在我的经验中,我会通过将文件的二进制数据存储到BLOB类型的字段中来做到这一点,有人告诉我,另一种选择是使用BASE64将二进制数据编码为文本,并将字符串存储在文本类型字段中。哪一个是完成这项任务的最佳选择?

谢谢。

保罗·曼贾雷斯

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-28 04:25:17

BLOB会更好,因为您可以使用byte[]数据类型,而不必从BLOB进行编码/解码。没有理由将BASE64用于简单的存储。

票数 8
EN

Stack Overflow用户

发布于 2010-08-28 04:57:59

使用BLOB的理由是它占用更少的CPU周期,更少的磁盘和网络i/o,更少的代码,并减少错误的可能性:

  1. 正如Will Hartung所说,使用BLOB可以跳过编码/解码步骤,这将减少CPU周期。此外,有许多用于Base64编码和解码的Java库,并且在实现方面存在细微差别(即PEM线换行)。这意味着为了安全,编码和解码应该使用相同的库。这在创建记录的应用程序和读取记录的应用程序之间创建了不必要的耦合。
  2. 编码的输出将大于原始字节,这意味着它将占用更多的磁盘空间(和网络I/O)。
票数 1
EN

Stack Overflow用户

发布于 2010-08-28 06:23:40

使用BLOB将它们放入数据库

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3587816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档