图片存储 - php mysql 储存base64的图片
问题描述
在html5 的canvas 中我使用了一个表情包制作的第三方控件,现在想要把制作完成的表情包上传到mysql的数据库里。无论是上传到本地服务器然后再数据库里存储文件地址,或者是用blob形式,都可以。请各位大牛告诉我怎么做。我用canvas.todataurl 把图片变成base64的编码,然后用ajax 把编码发到储存的页面,用 $_POST['image']获得base64的编码。我不想直接把base64的编码输入到数据库里因为太大了,但是我不知道怎么样用php 把图片的BASE64编码变成BLOB.能不能把编码变成图片然后直接上传图片到数据库? 但是我记得file_get_content好像只能在本地用不能在服务器上用。以下是我目前获得图片的base64编码代码
$data = $_POST['image'];$data = str_replace(’data:image/png;base64,’, ’’, $data);$data = str_replace(’ ’,’+’,$data);
$data = base64_decode($data);
无论用什么方法只要能把base64编码的图片输入数据库就可以了
问题解答
回答1:文件一般都是存地址的吧,解码保存为文件,数据库存文件路径不行吗
回答2:一般都是先本地生成,直接存地址。
回答3:file_get_contents()可以用吧,我都是用这个的
回答4:一般来说会把文件上传到七牛,拿到一个网络路径,保存该路径到数据库就好了
相关文章:
1. mysql优化 - mysql count(id)查询速度如何优化?2. angular.js - 不适用其他构建工具,怎么搭建angular1项目3. mysql主从 - 请教下mysql 主动-被动模式的双主配置 和 主从配置在应用上有什么区别?4. python - django 里自定义的 login 方法,如何使用 login_required()5. 主从备份 - 跪求mysql 高可用主从方案6. node.js - node_moduls太多了7. java8中,逻辑与 & 符号用在接口类上代表什么意思8. python如何不改动文件的情况下修改文件的 修改日期9. angular.js - Angular路由和express路由的组合使用问题10. python - 关于ACK标志位的TCP端口扫描的疑惑?
