千家信息网

android中如何将图片上传到PHP

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,这篇"android中如何将图片上传到PHP"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
千家信息网最后更新 2024年09月21日android中如何将图片上传到PHP

这篇"android中如何将图片上传到PHP"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"android中如何将图片上传到PHP"文章吧。

复制代码 代码如下:

[java] view plaincopyprint?
//设置超时时间
httpclient.setTimeout(20000);

再building,runing,还是不行。。。。这就怪了,明明好好的,怎么会突然就变成连接超时了呢!又折腾了一阵子后,也跟后台那边的朋友沟通过,他也测试了上传接口,发现没什么问题,就让我自己去折腾去了。。。。
我就郁闷了,看不出原先的代码有什么错误,也没什么法子了,就出最下下策吧,自己搭一个PHP上传图片接口,亲自测试下到底是怎么回事。。。。

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

2.浏览器输入 : http://本机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. 再此输入 : http://本机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目录下有上传的图片。

以上就是关于"android中如何将图片上传到PHP"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

0