700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php上传手机文件到服务器 安卓上传文件至PHP服务器(示例代码)

php上传手机文件到服务器 安卓上传文件至PHP服务器(示例代码)

时间:2022-12-20 01:48:25

相关推荐

php上传手机文件到服务器 安卓上传文件至PHP服务器(示例代码)

前两个月有幸参加一次免费培训,开发了一款小软件。发现AsyncHttpClient还真是好用。

直奔主题,安卓上传文件至PHP服务器:

1.PHP端服务器:

//链接数据库

include ("config/db.php");

//获取用户id

$userid = $_POST[‘userid‘];

//处理上传文件

$base_path = "upload/";

$fileName=$_FILES[‘file‘][‘name‘];

$name=explode(‘.‘,$fileName);

$userpicads = $base_path . ‘user_‘.$userid. ‘.‘ .$name[1];

/*

返回状态码:

300: 处理成功

301:服务器异常

*/

$status=301;

if (move_uploaded_file ( $_FILES [‘file‘] [‘tmp_name‘], $userpicads )) {

$status=300;

} else {

$status=301;

}

//如果保存文件成功,更新数据库

if($status==300)

{

$sql = "update mh_user set userpicads=‘{$userpicads}‘ where id={$userid}";

$pdo->exec($sql);

}

//输出返回结果

$ret = array(‘status‘=> $status);

echo json_encode($ret);

?>

2.安卓端添加网络权限

3.安卓端导入以下jar包(这些很容易就能下载到):

android-async-http-1.4.7.jar (必须)

gson-2.1.jar (可选,解析json格式用)

httpcore-4.4.4.jar(可选,用Android Stutio可能还需要导入这个)

4.安卓主要代码:

int userid = 1;

String username = "HelloWorld";

String filepath = "/mnt/sdcard/Download/mm.jpg";

String uploadUrl = "http://192.168.1.103/test/upload.php";

btn_upload.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

AsyncHttpClient client = new AsyncHttpClient();

RequestParams params = new RequestParams();

//添加参数

params.put("userid", userid);

params.put("username", username);

try {

//添加文件

params.put("file", new File(filepath));

} catch (FileNotFoundException e) {

e.printStackTrace();

}

client.post(uploadUrl, params, new AsyncHttpResponseHandler() {

@Override

public void onSuccess(int i, org.apache.http.Header[] headers, byte[] bytes) {

try {

//获取返回内容

String resp = new String(bytes, "utf-8");

//在这里处理返回的内容,例如解析json什么的...

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

}

@Override

public void onFailure(int i, org.apache.http.Header[] headers, byte[] bytes, Throwable throwable) {

//在这里处理连接失败的处理...

}

});

}

});

本文主要参考:

PHP如何重命名上传的文件:

Android Studio 可能找不到 org.apache.http.Header,参考:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。