前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安卓上传文件(绝对可以用)

安卓上传文件(绝对可以用)

作者头像
苦咖啡
发布2018-05-08 18:15:14
1.6K0
发布2018-05-08 18:15:14
举报
文章被收录于专栏:我的博客我的博客

说明:使用是httpclient+MultipartEntity,因此需要导入包:httpmime-4.1.1这个包非常重要!务必导入!)

写在前面:我只是贴出核心代码,只是记录下我寻找上传功能的过程,我是一个PHPer,最近项目需要编写APP,因此就刚学习Android开发。如果你也正在学习Android可以一起交流一下~~

上代码:(安卓客户端代码)直接贴出关键部分

代码语言:javascript
复制
/*
	 * 图片上传
	 */
	private void httpUpload() {
		HttpClient httpclient = new DefaultHttpClient();
		// 设置通信协议版本
		httpclient.getParams().setParameter(
				CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);

		String pathToOurFile = C.dir.images + File.separator + filename;
		//要上传的图片/mnt/sdcard/images/IMG_20131026_072832.jpg
		Log.w("file", pathToOurFile);
		String urlServer = "http://192.168.1.180/index/upload/index.php";
		HttpPost httppost = new HttpPost(urlServer);
		File file = new File(pathToOurFile);

		MultipartEntity mpEntity = new MultipartEntity(); // 文件传输(这个需要用到httpmime-4.1.1.jar)
		ContentBody cbFile = new FileBody(file);
		StringBody n = null;
		try {
			n = new StringBody("这里可以传递其他内容");
		} catch (UnsupportedEncodingException e1) {
			e1.printStackTrace();
		}
		mpEntity.addPart("name", n);//
		mpEntity.addPart("file", cbFile); // 
		httppost.setEntity(mpEntity);
		try {
			httpclient.execute(httppost);
		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		httpclient.getConnectionManager().shutdown();
		//上传成功,删除临时文件
		file.delete();
		Log.w("result", "上传成功!");
	}

说明:我这里只是为了实现上传功能,随后需要按照服务器端的返回结果进行处理~

服务器端代码:(PHP代码)

代码语言:javascript
复制
        $arrTmp = pathinfo($_FILES['file']['name']);//获取上传文件信息
        $extension = strtolower($arrTmp['extension']);//获取扩展,并转成小写
        $file_newname = time().".".$extension;
        $result = @move_uploaded_file($_FILES['file']['tmp_name'],$file_newname);

演示过程:

保存路径

客户端

图片裁剪以及保存、

发送服务器

上传成功

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年10月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档