Android文件上传功能(Upload)是Android开发中常见的一种功能,它可以将本地文件上传到服务器,从而实现文件的共享和传输。本文将介绍如何在Android程序中实现文件上传功能,并给出完整的示例代码。
1、服务器端文件上传接收页面(PHP):
<?php //文件上传接收页面 $upload_dir = "./uploads/";//上传文件的保存目录 $file_name = "";//上传文件的文件名 //检查上传文件是否存在 if(!isset($_FILES["file"])){ echo "文件不存在!"; exit; } //检查上传文件的大小 if($_FILES["file"]["size"] > 1024*1024){ echo "文件太大!"; exit; } //检查上传文件的类型 if($_FILES["file"]["type"]!="image/jpeg" && $_FILES["file"]["type"]!="image/png"){ echo "文件类型不正确!"; exit; } //检查上传文件的文件名 if($_FILES["file"]["name"]){ $file_name = $_FILES["file"]["name"]; }else{ echo "文件名不能为空!"; exit; } //保存上传文件到指定目录 if(move_uploaded_file($_FILES["file"]["tmp_name"],$upload_dir.$file_name)){ echo "上传成功!"; }else{ echo "上传失败!"; } ?>
2、Android客户端文件上传代码:
//定义文件上传服务器的地址 String upload_url = "http://your_server_ip/upload.php"; //准备上传的文件 File file = new File(file_path); //创建一个RequestBody,用于封装构建RequestBody RequestBody requestBody = RequestBody.create(MediaType.parse("application/octet-stream"), file); //构建MultipartBody.Part //MultipartBody.Part是用于封装文件数据的 MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), requestBody); //构建请求 Request request = new Request.Builder() .url(upload_url) .post(body) .build(); //发送请求 OkHttpClient okHttpClient = new OkHttpClient(); Response response = okHttpClient.newCall(request).execute(); //获取服务器的响应 String responseStr = response.body().string(); if(responseStr.equals("上传成功!")){ //文件上传成功 }else{ //文件上传失败 }
本文介绍了如何在Android程序中实现文件上传功能,并给出了完整的示例代码,实现步骤可以概括为:在服务器上建立文件上传接收页面,在Android客户端中编写文件上传代码,在服务器上接收客户端发来的文件,在客户端接收服务器发来的文件上传结果。
本文链接:http://task.lmcjl.com/news/6758.html