如何将图像存储为二进制形式以及如何将其检索回来?

时间:2010-03-07 18:48:38

标签: php mysql image-manipulation

将图像存储到MySQL中的最佳方法是将图像位置存储为字符串。

如果您需要操作图像,那么最好的方法是将图像复制为二进制文件。

如何将图像存储为二进制形式以及如何将图像检索回来?我对这项技术一无所知。请告诉我如何做到这一点。

3 个答案:

答案 0 :(得分:6)

不要将图像存储在数据库中。将它们存储在文件系统中,然后将它们的相对路径存储在数据库中。

答案 1 :(得分:1)

我已经写了一些博客(并且有来自SQL Server的一些数据)

http://www.atalasoft.com/cs/blogs/loufranco/archive/2007/12/03/images-in-databases-part-i-what-to-store.aspx

http://www.atalasoft.com/cs/blogs/loufranco/archive/2007/12/04/images-in-databases-part-ii-web-images-are-random-access.aspx

http://www.atalasoft.com/cs/blogs/loufranco/archive/2009/10/26/more-on-images-in-databases.aspx

基本上,

  1. 小图片可以放入blob
  2. 大图像放在文件系统上要好得多
  3. blob中的图像更易于管理(事务,备份,简单代码,访问控制)
  4. 文件系统上的图片会表现得更好
  5. 考虑从图像中提取一些元数据并存储在单独的列中以进行过滤和排序。
  6. 几乎每个需要处理大量blob的专业企业系统都有一些方法可以将它们放在文件系统上。最新的SQL Server甚至有一个字段类型可以自动执行(然后它就像blob一样易于编程和管理)

答案 2 :(得分:0)

您可以使用BLOB data type。虽然我同意@Ignacio Vazquez-Abrams,但有时候将数据存储在数据库中是最好的。我过去这样做了很好的结果。只要文件不大,那么这是一个很好的解决方案。