网站首页php
APP接口上传图片
发布时间:2016-06-23 23:52:29编辑:阅读(5542)
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)));
评论