手机压缩图片透过base64 上传 ajax不能post
程序员文章站
2024-01-12 10:29:28
...
手机压缩图片通过base64 上传 ajax不能post
这段代码上传到ubuntu上安卓4.4手机访问有问题,pc端没有问题。自己电脑win,手机、pc都没有问题。
xhr.send(JSON.stringify(data)); // 发送base64
根本没有post数据。
------解决思路----------------------
只要有一种客户端能够上传成功,就表示代码没有大问题。有的只是兼容性问题
既然已经使用了 jQuery,那为何不使用它提供的 ajax?至少兼容性工作他已替你做好了
------解决思路----------------------
同意版主
你在安卓微信浏览器上测试的时候就会发现这个不是个例 有些是因为封了上传
------解决思路----------------------
直接使用jquery吧,这样可以更好解决兼容问题。
测试上传文件
$base64=file_get_contents("php://input"); //获取输入流
$base64=json_decode($base64,1);
$data = $base64['base64'];
preg_match("/data:image\/(.*);base64,/",$data,$res);
$ext = $res[1];
if(!in_array($ext,array("jpg","jpeg","png","gif"))){
echo json_encode(array("error"=>1));die;
}
$file=time().'.'.$ext;
$data = preg_replace("/data:image\/(.*);base64,/","",$data);
if (file_put_contents('../uploadFiles/'.$file,base64_decode($data))===false) {
echo json_encode(array("error"=>1));
}else{
echo json_encode(array("error"=>0,'src'=>'../uploadFiles/'.$file));
}
这段代码上传到ubuntu上安卓4.4手机访问有问题,pc端没有问题。自己电脑win,手机、pc都没有问题。
xhr.send(JSON.stringify(data)); // 发送base64
根本没有post数据。
------解决思路----------------------
只要有一种客户端能够上传成功,就表示代码没有大问题。有的只是兼容性问题
既然已经使用了 jQuery,那为何不使用它提供的 ajax?至少兼容性工作他已替你做好了
------解决思路----------------------
同意版主
你在安卓微信浏览器上测试的时候就会发现这个不是个例 有些是因为封了上传
------解决思路----------------------
直接使用jquery吧,这样可以更好解决兼容问题。
相关文章
相关视频
上一篇: PHP实现加强版加密解密类实例
下一篇: PHP中构造函数和析构函数解析_PHP