美文网首页
读取相机相册上传文件

读取相机相册上传文件

作者: losersun | 来源:发表于2017-10-15 21:10 被阅读32次

    private String path= Environment.getExternalStorageDirectory().getPath()+"/head.jpg";

    // 调取系统的相册,Intent.ACTION_PICK

    Intent intent =newIntent(Intent.ACTION_PICK);

    //设置取回的数据类型

    intent.setType("image/*");

    startActivityForResult(intent,4000);

    // 2.ACTION_IMAGE_CAPTURE调取系统系统的相机

    Intent it =newIntent(MediaStore.ACTION_IMAGE_CAPTURE);

    // 将图片存入Sdcard

    it.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(newFile(path)));

    startActivityForResult(it,2000);

    //回调方法

    @Override

    protected voidonActivityResult(intrequestCode,intresultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);

    // 2.拍照完以后进行裁剪

    // RESULT_OK:-->是常亮,代表返回操作成功;

    if(requestCode ==2000&& resultCode ==RESULT_OK) {

    // 2.调取系统的裁剪

    Intent it =newIntent("com.android.camera.action.CROP");

    // 拿到图片 type 图片的类型

    it.setDataAndType(Uri.fromFile(newFile(path)),"image/*");

    // 是否支持裁剪

    it.putExtra("crop",true);

    // 设置宽高比

    it.putExtra("aspectX",1);

    it.putExtra("aspectY",1);

    // 设置图片输出的大小

    it.putExtra("outputX",250);

    it.putExtra("outputY",250);

    // 是否支持人脸识别

    it.putExtra("onFaceDetection",false);

    it.putExtra("return-data",true);

    // 剪裁完之后,发送startActivityForResult;

    startActivityForResult(it,3000);

    }

    // 2.设置图片

    if(requestCode ==3000&& resultCode ==RESULT_OK) {

    Bitmap bitmap = data.getParcelableExtra("data");

    try{

    //Bitmap对象保存味图片文件

    File file=newFile(path);//将要保存图片的路径

    BufferedOutputStream bos =newBufferedOutputStream(newFileOutputStream(file));

    bitmap.compress(Bitmap.CompressFormat.JPEG,100, bos);

    bos.flush();

    bos.close();

    presenter.upPic(file);

    }catch(IOException e) {

    e.printStackTrace();

    }

    }

    // 3.调取完系统的相册后 进行裁剪

    if(requestCode ==4000&& resultCode ==RESULT_OK) {

    // 得到相册的图片的路径,直接用这个getData;

    Uri uri = data.getData();

    // 3.调取系统的裁剪

    Intent it =newIntent("com.android.camera.action.CROP");

    // 拿到图片 type 图片的类型

    it.setDataAndType(uri,"image/*");

    // 是否支持裁剪

    it.putExtra("crop",true);

    // 设置宽高比

    it.putExtra("aspectX",1);

    it.putExtra("aspectY",1);

    // 设置图片输出的大小

    it.putExtra("outputX",250);

    it.putExtra("outputY",250);

    // 是否支持人脸识别

    it.putExtra("onFaceDetection",false);

    it.putExtra("return-data",true);

    startActivityForResult(it,3000);

    }

    }

    相关文章

      网友评论

          本文标题:读取相机相册上传文件

          本文链接:https://www.haomeiwen.com/subject/hqwcuxtx.html