这篇文章主要介绍了android上传图片到PHP的过程详解,需要的朋友可以参考下

今天在做上传头像的时候,总是提交连接超时错误,报错信息如下:XXXXXXSokcetTimeOutXXXXXXXX

然后自己设置HTTP的超时时间:

复制代码 代码如下:

[java] view plaincopyprint?

//设置超时时间

httpclient.setTimeout(20000);

再building,runing,还是不行。。。。这就怪了,明明好好的,怎么会突然就变成连接超时了呢!又折腾了一阵子后,也跟后台那边的朋友沟通过,他也测试了上传接口,发现没什么问题,就让我自己去折腾去了。。。。

我就郁闷了,看不出原先的代码有什么错误,也没什么法子了,就出最下下策吧,自己搭一个PHP上传图片接口,亲自测试下到底是怎么回事。。。。

1.首先,你得下一个方便快捷的PHP服务器,我这里用了WampServer,百度----下载-----安装-----启动,浏览器输入: 有页面显示,OK了。就这么简单!

2.浏览器输入 : 本机IP地址 回车, 发现报错,类似“You don't have permission to access / on this server” 说明你的WM还没设置,需要进行如下设置:

造成这个问题的原因是Apache 的http.conf内的默认配置是

复制代码 代码如下:

# onlineoffline tag - don't remove

Order Deny,Allow

Deny from all

Allow from 127.0.0.1

只允许127.0.0.1访问,点击wampserver图标让后点击Putonline,http.conf内的以上默认配置自动修改为

复制代码 代码如下:

# onlineoffline tag - don't remove

Order Allow,Deny

Allow from all

现在localhost可以访问了。

同样phpMyadmin在localhost下不能正常访问在127.0.0.1能正常访问,解决方法:

点击根目录下的alias目录,打开phpmyadmin.conf配置文件,和上面修改http.conf一样把

复制代码 代码如下:

Deny from all

Allow from 127.0.0.1

修改为

Allow from all

3. 再此输入 : 本机IP地址 回车 显示页面 OK! 至于为什么要第二步、第三步呢,我就不说了。。。留给新人去想想吧! 大神直接无视。。。。。

4.写一个上传图片的PHP文件,当然我一个敲java的孩子一下子怎么可能憋的出来,那怎么办,,当然是百度参考别人的了,下面的PHP代码源自网络,亲测没有错误:

[php] view plaincopyprint?

true,

"msg" => $_FILES ['attach'] ['name']

);

echo json_encode ( $array );

} else {

$array = array (

"status" => false,

"msg" => "There was an error uploading the file, please try again!" . $_FILES ['attach'] ['error']

);

echo json_encode ( $array );

}

?>

5.将上面的php文件放在WM安装目录下的www目录下,我的如下图所示,仅供参考:

6.经过上面几个步骤,PHP端已经搭建好了,现在就是回到android端改改IP地址测试下就oK了,代码段如下:

[java] view plaincopyprint?

//HTTP上传图片

RequestParams params = new RequestParams();

try {

//将压缩后的bitmap保存为图片文件

String saveImgPath=getSD_Path()+"/saveimg.png";

File saveimg=new File(saveImgPath);

FileOutputStream fos = new FileOutputStream(saveimg);

bmp.compress(Bitmap.CompressFormat.PNG, 100, fos);

fos.flush();

fos.close();

//上传压缩后的文件,大约100k左右

File uploadImg=new File(saveImgPath);

params.put("attach", uploadImg);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

//上传地址

String url=URLConfigs.UploadHeadImage_ukey+myprefs.Ukey().get();

String url="http://192.168.0.8/upload.php";

LogUtil.e(TAG, "upload img url :"+url);

AsyncHttpUtil.post_loading(context,url, params, new MyTextHttpResponseHandler() {

@Override

public void onSuccess(int status, Header[] arg1, String json) {

super.onSuccess(status, arg1, json);

LogUtil.e(TAG, "上传图片 json :"+json);

RespondBaseEntity entity=GsonUtil.GetFromJson(json, RespondBaseEntity.class);

if(entity.isStatus()){

//上传成功,设置图片

face.setImageBitmap(bmp);

ToastUtils.show(context, "上传成功");

}else{

ToastUtils.show(context, json);

}

myprefs.position().put(0);

}

@Override

public void onFailure(int arg0, Header[] arg1, String arg2, Throwable arg3) {

super.onFailure(arg0, arg1, arg2, arg3);

myprefs.position().put(0);

arg3.printStackTrace();

ToastUtils.show(context, R.string.network_unavailable);

}

params.put("attach", uploadImg); 这里的attach参数是和服务端一一对应的,别乱改。。。。

String url="http://192.168.0.8/upload.php"; 这个192.168.0.8是我的PHP部署的地址,改成你自己的就行了。

PS:别犯2,用了127.0.0.1 想想为啥不能用127.0.0.1

到此就是building,runing了。 发现OK。。。。 可以上传,并在www目录下找到upload目录,upload目录下有上传的图片。。。。

7.这就纳闷了。。。。 我又鼓起勇气找了PHP后端,跟他激烈的讨论一番后,发现是服务器坑了爹啊! 800块一年的服务器。。。。。唉。。。不说了。。。。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php android 图片上传,android上传图片到PHP的过程详解相关推荐

  1. 图片上传裁剪插件cropper.js的API详解

    jQuery.cropper是一款使用简单且功能强大的图片剪裁jQuery插件.该图片剪裁插件支持图片放大缩小,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用.    cropp ...

  2. php返回图片给安卓_android上传图片到PHP的过程详解

    今天在做上传头像的时候,总是提交连接超时错误,报错信息如下:XXXXXXSokcetTimeOutXXXXXXXX 然后自己设置HTTP的超时时间: [java] view plaincopyprin ...

  3. 图片上传压缩android,android 图片上传压缩常见问题分析

    图片的上传与压缩是android经常需要用到的步骤,那么,如何解决上传图片oom问题呢?android 图片上传压缩常见问题分析,希望可以帮助大家更加的了解android 图片方面的困惑. 下面,是我 ...

  4. 【报错笔记】在做图片上传时上传图片后可以跳转到上传成功界面,也没有报错,数据库中也传入了值,可是eclipse中webapp下怎样都无法生存目录。

    在做图片上传时上传图片后可以跳转到上传成功界面,也没有报错,数据库中也传入了值,可是eclipse中webapp下怎样都无法生存目录. 我使用UUID生成8级目录,在webapp下创建目录,将图片传进 ...

  5. SAE上传web应用(包括使用数据库)教程详解及问题解惑

    2019独角兽企业重金招聘Python工程师标准>>> 转自:http://blog.csdn.net/baiyuliang2013/article/details/24725995 ...

  6. java spring mvc 上传_Java Spring MVC 上传下载文件配置及controller方法详解

    下载: 1.在spring-mvc中配置(用于100M以下的文件下载) 下载文件代码 @RequestMapping("/file/{name.rp}") public Respo ...

  7. Android图片上传服务器(File格式)

    1.首先我们需要声明几个变量 TreeMap<String, String> paramsMap;. RequestBody requestBody = null; Request req ...

  8. Android图片上传(头像裁切+原图原样)

    还是那句话,最近项目比较忙拖了很久这篇文章终于完成了! 先看一下效果图: (一)头像裁切.上传服务器(效果图) 一般都是有圆形显示头像的,这里我自定义了一个ImageView,页面很干净但是看着很上档 ...

  9. 玩转 Android图片上传

    在Android开发中经常会遇到需要上传图片的场景,虽然现在有很多很好的第三方框架可供使用,而且傻瓜集成,配置简单.但是有些时候总感觉第三方框架过于臃肿,用着总感觉没有自己写的来得踏实.所以让我们也任 ...

最新文章

  1. mysql 存储过程支持传入数组参数_问个小问题,关于存储过程传递数组参数
  2. angular1x初始与架构演进(一)
  3. tdms打开闪退问题
  4. ZooKeeper与Eureka作为注册中心的比较
  5. java代码审查工具_APP开发常用的一些工具包、软件工具
  6. php curl 内存 设置,curl out of memory window下PHP调用curl报内存不够
  7. linux下多线程断点下载工具-axel
  8. java实验报告的原理_JAVA实验报告
  9. 浙大中控T9100系统在压缩机上的应用
  10. GAN 模式崩溃的理论解释
  11. SpringBoot+redis时事务和SessionCallback的使用和抉择
  12. window10 pl2303驱动解决
  13. 订单超过 7 天不允许退货
  14. WD蓝盘绿盘黑盘红盘的区别
  15. php 复制文件夹并压缩到最小_【实用】PHP实现下载与压缩文件的一些方法的封装与整理...
  16. 网络爬虫-爬取有效机构查询网(CNAS)全量数据
  17. java计算机毕业设计计算机专业招聘网站源码+mysql数据库+系统+lw文档+部署
  18. uefi启动解析:由原理到实例
  19. C++ 实现类的成员函数绑定回调
  20. PyQt5基本控件之菜单栏QMenuBar

热门文章

  1. 标准C程序设计七---120
  2. System类的概述和方法使用
  3. Empire C:Basic 4
  4. andorid关于selector更换图片失效
  5. 漂亮的自适应宽度的多色彩CSS图片按钮
  6. hlsl之ambient
  7. JS事件冒泡和事件捕获
  8. 关于c3p0连接池连接mysql数据库需要注意的几点
  9. php与web页面交互
  10. KVM虚拟机安装使用教程(Ubantu)