//定义图片存储的位置
file = new File(Environment.getExternalStorageDirectory(),
System.currentTimeMillis() + ".png")
// 隐式意图打开系统界面 --要求回传
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE)
// 存到什么位置
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file))
startActivityForResult(intent, OPEN_CAMERA)
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, OPEN_GALLERY);
public void crop(Uri uri) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 250);
intent.putExtra("outputY", 250);
intent.putExtra("outputFormat", "JPEG");
intent.putExtra("return-data", true);
startActivityForResult(intent, CROP);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 拍照和打开相册之后,进行裁剪,裁剪之后,使用框架进行上传
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == OPEN_CAMERA) {
crop(Uri.fromFile(file));
} else if (requestCode == OPEN_GALLERY) {
Uri uri = data.getData();
crop(uri);
} else if(requestCode==CROP){
Bitmap bitmap = data.getParcelableExtra("data");
final Bitmap bitmap = data.getParcelableExtra("data");
File picFile = new File(Environment.getExternalStorageDirectory(),
System.currentTimeMillis() + ".png");
try {
bitmap.compress(CompressFormat.PNG, 100, new FileOutputStream(
picFile));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
HttpUtils httpUtils = new HttpUtils();
RequestParams params = new RequestParams();
params.addBodyParameter("files", picFile);
httpUtils
.send(HttpMethod.POST,
"http://169.254.161.66:8080/imageupload/servlet/UploadServlet",
params, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0,
String arg1) {
Toast.makeText(MainActivity.this, "上传失败", 0)
.show();
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
Toast.makeText(MainActivity.this, "上传成功", 0)
.show();
imageView.setImageBitmap(bitmap);
}
});
}
}