首页  >  问答  >  正文

图片存储 - 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编码的图片输入数据库就可以了

ringa_leeringa_lee2733 天前958

全部回复(4)我来回复

  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:09:42

    文件一般都是存地址的吧,解码保存为文件,数据库存文件路径不行吗

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:09:42

    一般都是先本地生成,直接存地址。

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:09:42

    file_get_contents()可以用吧,我都是用这个的

    回复
    0
  • 高洛峰

    高洛峰2017-05-19 10:09:42

    一般来说会把文件上传到七牛,拿到一个网络路径,保存该路径到数据库就好了

    回复
    0
  • 取消回复