使用Python存储和检索数据库中的图像

tam*_*eek 2 python image-manipulation

我想将与每个人的个人资料相关的图像存储在数据库中,并在请求时检索它们并将其保存为.jpg文件 - 并将其显示给用户.

我如何将存储在数据库中的图像数据渲染为图像并将其存储在本地?

Lou*_*nco 8

在确定是将数据存储在数据库中还是存储在文件系统中时,这个StackOverflow问题是一个很好的问题

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

我还在博客上写过关于这些问题的文章

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/04/28/document-storage-database-blobs-or-the-filesystem.aspx

简短的回答是:如果图像很小并且没有很多图像 - 数据库中的blob可能很好(更容易备份,控制访问,事务等).但与文件系统相比,性能很差 - 这是一个权衡.大多数真正的应用程序(尤其是大型网站)都使用文件系统,但在某些情况下使用blob是完全合理的.

blob(或文件)只是编码数据(JPG) - 它是完全相同的字节流.在Web应用程序中,您将使用img标记 - 如果您正在构建桌面GUI,请查看它用于显示图像的组件.

如果您正在使用blob,并且需要在Web应用程序中显示,则img标记的src将设置为脚本/视图/ etc,它将内容类型集返回到图像的mime类型(例如图像/ jpeg)和blob的内容.