网站首页php

APP接口上传图片

发布时间:2016-06-23 23:52:29编辑:阅读(6669)

           

    APP上传图片方法:APP客户端上传图片到服务器时,为了简化客户端的操作,通常先把图片进行base64编码,将字符上传到服务端时,

    进行base64解码,存储为图片,再将图片的url地址返回客户端。


    在PHP服务端使用base64_decode解码时,偶尔发现图片打不开,把提交过来的数据写入日志后发现,所有的加号"+", 都变成了空格" ";

    难怪图片打不开了。


    解决方案如下:


    一、在客户端把图片进行两次base64编码,这样提交的字符串里就没有加号"+"了,在服务端再进行两次解码,即可把图片还原;

    <?php
        file_put_contents($filepath, base64_decode(base64_decode($postdata)));


    二、直接在服务端操作,在base64解码前,把所有的空格" "替换成加号"+",再进行解码即可;

    <?php
        file_put_contents($filepath, base64_decode(str_replace(' ', '+', $postdata)));





评论