在Android中,当从手机上的照片解码位图时,原始文件中的EXIF数据会丢失。我正在通过套接字将此Bitmap
发送到我的服务器,并希望将丢失的EXIF数据重新附加到正在发送的数据。
我有一些代码从MediaStore
加载一个Bitmap
对象,并将其压缩为字节数组,准备通过套接字发送它:
Bitmap bitmap = ...
ByteArrayOutputStream stream = new ByteArrayOutputStream(bitmap);
bitmap.compress(CompressFormat.JPEG, 70, stream);
byte[] input = stream.toByteArray();
我想使用ExifInterface
来获取SD卡上原始jpeg中的EXIF元数据,并以某种方式将其添加到输出字节数组中,这样我就能够在服务器端提取具有所有正确EXIF的jpeg (希望不会在服务器上执行此操作)。到目前为止,我设法使用ExifInterface
读取了所有EXIF数据:
String path = ... //bitmap file path
ExifInterface exif = new ExifInterface(path);
... = exif.getAttribute(...)
编辑:最好,我想找到一个不使用库的解决方案。如果我能得到包含EXIF的原始jpeg的字节数组的索引,并将这些字节添加到bitmap.compress(...)
生成的字节数组中,那就最好了。
https://stackoverflow.com/questions/4800235
复制相似问题