图片存储 - 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. css - 关于HTML中width和height的疑问(这个提问的标题不好起)2. ruby-on-rails - 在安装RubyOnRails的时候出现问题3. HTML5表单必填属性设置自定义验证消息?4. mysql - 求一个sql语句,比较简单。5. javascript - 清空Chrome缓存的疑问6. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?7. html5 - bootstrap修改样式的问题8. java - 如图,jsp页面的form中的action是怎么映射到这个位置的?为什么不写dynUser就可以映射到save?9. java - 接口中的成员变量怎么不是常量了?10. javascript - 在 model里定义的 引用表模型时,model为undefined。

网公网安备