图片存储 - 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. 关于docker下的nginx压力测试2. nignx - docker内nginx 80端口被占用3. 为什么我ping不通我的docker容器呢???4. docker内创建jenkins访问另一个容器下的服务器问题5. javascript - 我的站点貌似被别人克隆了, google 搜索特定文章,除了域名不一样,其他的都一样,如何解决?6. debian - docker依赖的aufs-tools源码哪里可以找到啊?7. html5 - node静态资源服务器设置了Cache-Control,但浏览器从来不走3048. docker start -a dockername 老是卡住,什么情况?9. docker镜像push报错10. dockerfile - 为什么docker容器启动不了?

网公网安备