全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android将图片上传到php服务器的实例代码

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 


相关文章: 建站VPS选购需注意哪些关键参数?  如何用AWS免费套餐快速搭建高效网站?  c++怎么用jemalloc c++替换默认内存分配器【性能】  如何续费美橙建站之星域名及服务?  Python多线程使用规范_线程安全解析【教程】  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  如何在Golang中指定模块版本_使用go.mod控制版本号  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  建站主机是否等同于虚拟主机?  网站制作免费,什么网站能看正片电影?  ,购物网站怎么盈利呢?  如何在云主机上快速搭建多站点网站?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  建站之星3.0如何解决常见操作问题?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何在阿里云香港服务器快速搭建网站?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  建站之星后台管理如何实现高效配置?  黑客如何利用漏洞与弱口令入侵网站服务器?  免费网站制作appp,免费制作app哪个平台好?  如何将凡科建站内容保存为本地文件?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  如何在橙子建站上传落地页?操作指南详解  如何在七牛云存储上搭建网站并设置自定义域名?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何用已有域名快速搭建网站?  ,交易猫的商品怎么发布到网站上去?  湖北网站制作公司有哪些,湖北清能集团官网?  如何在云主机快速搭建网站站点?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  高端建站如何打造兼具美学与转化的品牌官网?  教学论文网站制作软件有哪些,写论文用什么软件 ?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  如何打造高效商业网站?建站目的决定转化率  盐城做公司网站,江苏电子版退休证办理流程?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何通过主机屋免费建站教程十分钟搭建网站?  如何用腾讯建站主机快速创建免费网站?  黑客如何通过漏洞一步步攻陷网站服务器?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  ,南京靠谱的征婚网站?  如何快速生成专业多端适配建站电话?  如何在宝塔面板创建新站点?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  建站主机SSH密钥生成步骤及常见问题解答?  建站之家VIP精选网站模板与SEO优化教程整合指南  建站上市公司网站建设方案与SEO优化服务定制指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。