Preserving Exif data when exporting pictures

Hello,

I needed to export a picture taken by the phone camera to my computer.
I chose Bluetooth sharing for convenience instead of USB transfert.
When received on the computer, a lot of Exif data where deleted (reset, actually).
I am interested in GPS data.

I thought the Exif were deleted on transfer, so I tried to ‘zip’ the file (3 dots menu → Compress) before sharing it with Bluetooth.
The Exif were still deleted !

So I changed the extension of the picture (ie .jpg → .txt) then compressed again this file.
This time, the Exif data were preserved.

As this process is really tedious, is there a simpler way to do that wirelessly ?

Thanks !

PLA

I didn’t understand how the exif stripping works in Android in the past, but apparently it’s the storage access framework enforcing permissions (ACCESS_MEDIA_LOCATION) and stripping the info if the share destination / receiving target doesn’t have the permission. There’s more knowledge linked in this nextcloud/android issue.

OpenCamera can obviously record the geo data, so it’s up to the bluetooth share. As you do not want to pull files through adb and a cable… when testing a photo with exif data, picking a file through localsend (picking, not sharing to) I got the file wirelessly and exif untouched, same md5 hash.

1 Like

Thanks, I didn’t know about localsend !
It worked fine at home, but failed on some Wifi network (eduroam).
I just hope the app to be Bluetooth compatible in the future.
That will be much more universal, though much slower.

For the record, I eventually compressed a picture with Zarchiver.
This time, the Exif data were not altered !
But the format has to be .zip, not .7z as the latter is not on the white list for Bluetooth transfert…
Why ? Is zip more secure than 7z ?

I find the OS pretty intrusive.
Altering files without warning and consent, prevent some file types to be transferred, maybe more.
And no way to let the user to choose.

PLA

It worked fine at home, but failed on some Wifi network (eduroam).

localsend uses multicast to 224.0.0.167 to find other nodes, eduroam is probably a bit restrictive. Alternatively you could start a hotspot on the receiver (laptop) and connect this way.

I find the OS pretty intrusive.

not sure. I see its value as a default. All it should do is prompt the user to grant the receiving application the permission to get the geo info