百度开发者的云代码空间为了保证高可用,不允许用户将图片保存到代码空间中,使用CDN或者对象存储不仅收费而且使用比较复杂,于是考虑能否将img存储在数据库中,虽然很多人说会造成性能问题,权当一试。
1、准备三个文件
第一个用于将图片存储为数据库字符,第二个php文件用于获取数据库字符并生成图片,第三个是文件1所使用的图片。
2、数据库设计
超长字符串或者二进制数据分别可以用TEXT(65535),BLOB(64k)保存,但是尝试使用二进制保存失败,便使用TEXT保存,但是一张500多kb的图片经过base64加密的字符长度高度75万!
仅仅靠一个TEXT是存不下去的,而且应该也会造成严重的性能问题,所以分割成N份保存,这里以50000字符长度为一个单位。记录imgid,方便拼接。
3、将图片保存到数据库[dm01_imgTobase64.php]/*链接数据库*/
// 1.转为普通字符