Android将图片上传到php服务器的实例代码
发布时间 - 2026-01-11 02:32:54 点击率:次layout中很普通,就是两个button和一个ImageView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<Button
android:id="@+id/test"
android:layout_width="368dp"
android:layout_height="wrap_content"
android:text="button1"
android:textAllCaps="false" />
<Button
android:id="@+id/test2"
android:layout_width="368dp"
android:layout_height="wrap_content"
android:text="button2"
android:textAllCaps="false"
/>
<ImageView
android:id="@+id/image"
android:layout_width="0dp"
android:layout_height="495dp"
/>
</LinearLayout>
在主页面中给按钮添加事件:
package success.xiaoyu.okhttp3;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.concurrent.TimeUnit;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class MainActivity extends AppCompatActivity {
private Button button1,button2;
private ImageView imageView;
private Handler handler = new Handler(){
public void handleMessage(Message msg) {
Bitmap bitmap = (Bitmap)msg.obj;
imageView.setImageBitmap(bitmap);
//Toast.makeText(MainActivity.this, Environment.getExternalStorageDirectory()+"",Toast.LENGTH_LONG).show();
}
};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
button1 = (Button)findViewById(R.id.test);
button2 = (Button)findViewById(R.id.test2);
imageView = (ImageView)findViewById(R.id.image);
button1.setOnClickListener(new View.OnClickListener() {//将服务器的图片读取到本地
public void onClick(View view) {
OkHttpClient okHttpClient = new OkHttpClient();
Request request = new Request.Builder()
.url("http://115.159.217.226/xy.png")
.build();
okHttpClient.newCall(request).enqueue(new Callback() {
public void onFailure(Call call, IOException e) {
}
public void onResponse(Call call, Response response) throws IOException {
InputStream inputStream = response.body().byteStream();
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
Message msg = new Message();
msg.obj = bitmap;
handler.sendMessage(msg);
}
});
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
uploadMultiFile();
}
});
}
private void uploadMultiFile() {//将图片发送到服务器
final String url = "http://115.159.217.226/upload.php";
File file = new File( Environment.getExternalStorageDirectory()+"/storage/emulated/0/", "xy.jpg");
RequestBody fileBody = RequestBody.create(MediaType.parse("application/octet-stream"), file);
File file2 = new File( Environment.getExternalStorageDirectory()+"/storage/emulated/0/", "yyw.jpg");
RequestBody fileBody2 = RequestBody.create(MediaType.parse("application/octet-stream"), file2);
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("image1", "xy.jpg", fileBody)
.addFormDataPart("image2", "yyw.jpg", fileBody2)
.build();
Request request = new Request.Builder()
.url(url)
.post(requestBody)
.build();
final okhttp3.OkHttpClient.Builder httpBuilder = new OkHttpClient.Builder();
OkHttpClient okHttpClient = httpBuilder
//设置超时
.connectTimeout(10, TimeUnit.SECONDS)
.writeTimeout(15, TimeUnit.SECONDS)
.build();
okHttpClient.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.e("aa", "uploadMultiFile() e=" + e);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
Log.i("bb", "uploadMultiFile() response=" + response.body().string());
}
});
}
}
服务器端代码:
<?php
header('Content-type: application/json;charset=utf-8');
if(empty($_FILES)) die('{"status":0,"msg":"错误提交"}');
$dirPath = './img/';//设置文件保存的目录
if(!is_dir($dirPath)){
//目录不存在则创建目录
@mkdir($dirPath);
}
$count = count($_FILES);//所有文件数
if($count<1) die('{"status":0,"msg":"错误提交"}');//没有提交的文件
$success = $failure = 0;
foreach($_FILES as $key => $value){
//循环遍历数据
$tmp = $value['name'];//获取上传文件名
$tmpName = $value['tmp_name'];//临时文件路径
//上传的文件会被保存到php临时目录,调用函数将文件复制到指定目录
if(move_uploaded_file($tmpName,$dirPath.date('YmdHis').'_'.$tmp)){
$success++;
}else{
$failure++;
}
}
$arr['status'] = 1;
$arr['msg'] = '提交成功';
$arr['success'] = $success;
$arr['failure'] = $failure;
echo json_encode($arr);
?>
总结
以上所述是小编给大家介绍的Android将图片上传到php服务器的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# android
# 图片上传
# php
# 服务器
# Android读取服务器图片的三种方法
# Android 通过Base64上传图片到服务器实现实例
# Android 通过webservice上传多张图片到指定服务器详解
# Android选择图片或拍照图片上传到服务器
# Android开发中调用系统相册上传图片到服务器OPPO等部分手机上出现短暂的显示桌面问题的解决方法
# Android Socket服务端与客户端用字符串的方式互相传递图片的方法
# Android使用post方式上传图片到服务器的方法
# Android异步上传图片到PHP服务器
# Android从服务器获取图片的实例方法
# android传送照片到FTP服务器的实现代码
# 小编
# 上传
# 在此
# 遍历
# 给大家
# 不存在
# 发送到
# 所述
# 给我留言
# 感谢大家
# 临时文件
# 中很
# 疑问请
# 有任何
# io
# widget
# TimeUnit
# View
# concurrent
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
如何在香港服务器上快速搭建免备案网站?
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
如何用PHP快速搭建高效网站?分步指南
如何在Ubuntu系统下快速搭建WordPress个人网站?
如何在Windows服务器上快速搭建网站?
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
JavaScript数据类型有哪些_如何准确判断一个变量的类型
Python正则表达式进阶教程_复杂匹配与分组替换解析
JavaScript常见的五种数组去重的方式
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
phpredis提高消息队列的实时性方法(推荐)
Laravel如何使用.env文件管理环境变量?(最佳实践)
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
香港服务器网站卡顿?如何解决网络延迟与负载问题?
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
详解jQuery停止动画——stop()方法的使用
Laravel如何升级到最新版本?(升级指南和步骤)
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
如何在云服务器上快速搭建个人网站?
🚀拖拽式CMS建站能否实现高效与个性化并存?
三星网站视频制作教程下载,三星w23网页如何全屏?
如何在云主机快速搭建网站站点?
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
网站制作软件有哪些,制图软件有哪些?
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
魔方云NAT建站如何实现端口转发?
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
Laravel如何生成URL和重定向?(路由助手函数)
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
浅谈javascript alert和confirm的美化
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
网站优化排名时,需要考虑哪些问题呢?
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
微信小程序 五星评分(包括半颗星评分)实例代码
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
java中使用zxing批量生成二维码立牌

