手机压缩图片通过base64上传ajax不能post
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了手机压缩图片通过base64上传ajax不能post,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1832字,纯文字阅读大概需要3分钟。
内容图文
测试上传文件
<?php$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,那为何不使用它提供的 ajax?至少兼容性工作他已替你做好了
事实上,之前用jq也做了一遍,问题一样,所以原生做了一遍。
同意版主
你在安卓微信浏览器上测试的时候就会发现这个不是个例 有些是因为封了上传
我通过base64上传文件。
同一个网段下,手机访问,这段代码也没有问题。只是手机访问我的阿里云ubuntu发现不会post数据。难道手机访问会跨域?
直接使用jquery吧,这样可以更好解决兼容问题。
这段代码没有问题,上传到阿里云之后,我的手机用自身的4G流量没有问题,家里wifi也没有问题,唯独单位wifi有问题。
还测试过小米4,三星s6等手机,单位wifi也没有问题。
据说华为p6有大小限制。而我测试的上述手机没有大小限制。
神一样的安卓?
内容总结
以上是互联网集市为您收集整理的手机压缩图片通过base64上传ajax不能post全部内容,希望文章能够帮你解决手机压缩图片通过base64上传ajax不能post所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。