位图保存损坏的图像

时间:2019-08-04 08:41:50

标签: java android android-camera

将图像从相机保存到外部存储目录时,图像在图库中显示为灰色框,并且在文件管理器中也不可见。 我已经为存储启用了必需的写权限。

图片在图库中看起来像这样

https://i.imgur.com/9D6IDEI.jpg

String filepath= "/storage/emulated/0/Pictures/Email_Client/1564907913797.jpg"
File file = new File(filepath);
file.createNewFile();
final FileOutputStream fos = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 80, fos);
fos.close();

2 个答案:

答案 0 :(得分:0)

尝试以下类似方法。

String filepath= "/storage/emulated/0/Pictures/Email_Client/1564907913797.jpeg"
File file = new File(filepath);
file.createNewFile();
Uri imageUri = Uri.fromFile(file);
OutputStream outstream;
try {
  outstream = getContentResolver().openOutputStream(imageUri);
  bitmap.compress(Bitmap.CompressFormat.JPEG, 80, outstream);
  outstream.close();
}

答案 1 :(得分:0)

如果您使用的是Camera(而不是Camera2)和PictureCallback,请尝试以下操作:

$University = $entityManager->getRepository(University::class, 'blog')
            ->findOneBy(array('Code' => $Code));

其中String filepath= "/storage/emulated/0/Pictures/Email_Client/1564907913797.jpg" File file = new File(filepath); final FileOutputStream fos = new FileOutputStream(file); fos.write(data); bitmap.compress(Bitmap.CompressFormat.JPEG, 80, fos); fos.close(); 是您在data中作为参数获取的相机所拍摄图片的字节数组。 您保存的文件为空,因为您实际上并未保存任何图片数据。