java - 压缩选定的图像文件/从相机拍摄
问题描述
试图让用户添加个人资料图片,但我想在将图像文件发送到服务器之前对其进行压缩。
我怎样才能压缩:
文件 imageFile = new File(resultUri.getPath());
尝试并搜索但无法开始工作
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
CropImage.ActivityResult result = CropImage.getActivityResult(data);
if (resultCode == RESULT_OK) {
Uri resultUri = result.getUri();
btnConfirm.setVisibility(View.VISIBLE);
btnConfirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File imageFile = new File(resultUri.getPath());
progressDialog.show();
AndroidNetworking.upload("https://myweb.com/uploadImg.php")
.addMultipartFile("image", imageFile)
很想得到一些建议,在此先感谢。
解决方案
检查这个
Uri selectedImage = imageReturnedIntent.getData();
InputStream imageStream = null;
try {
imageStream = getContentResolver().openInputStream(
selectedImage);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Bitmap bmp = BitmapFactory.decodeStream(imageStream);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
try {
stream.close();
stream = null;
} catch (IOException e) {
e.printStackTrace();
}
推荐阅读
- amazon-web-services - AWS 实例在美国区域不起作用
- c# - Asp.Net Core 中的 SignalR 配置
- python - 使用python编辑EXCEL表格中的数据
- python - 如何在 n 元素中搜索 elastic-search-dsl
- r - 将栅格转换为数据框并在 R 中提取所需的值
- laravel - Laravel 5.5 类型错误:传递给 Illuminate\Auth\EloquentUserProvider::validateCredentials() 的参数 1 必须是实例
- javascript - 输入类型编号加 10 到值
- php - 使用 mysql_real_escape_string() 代替 IN 运算符中的准备语句
- docker - 在类 io.fabric8.maven.docker.config.ImageConfiguration 中找不到“dockerFileDir”
- c# - WPF 画布在大量 UI 元素上的渲染性能