读取相机相册上传文件

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);

}

}

你可能感兴趣的:(读取相机相册上传文件)