React native has a good lib like CameraRoll which allow us to access the media files of phones. However, the returned uri is missing the extension:
{ node:
{ timestamp: 1344461389.8,
type: 'image', <= it is used to be 'image/png' instead of 'image'
group_name: 'Camera Roll',
location:
{ altitude: 0,
longitude: -14.538611666666666,
latitude: 64.752895,
heading: 0,
speed: 0.8999988197665498 },
image:
{ width: 1668,
uri: 'ph://99D53A1F-FEEF-40E1-8BB3-7DD55A43C8B7/L0/001', <= there is no file's extension
height: 2500,
isStored: true,
playableDuration: 0 } } },
If you know a way to get the extension or any work around in this case, please let me know.
Thank you in advance!
I have a work around, the returned extension is not pretty but it is useable:
From the file RNCCameraRollManager.m:
NSString *const extension = [asset valueForKey: @"uniformTypeIdentifier"];
@"extension": extension,
Now you have the extension.
Here is the environment:
"@react-native-community/cameraroll": "1.0.3",
"react": "16.8.3",
"react-native": "0.59.5"