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',
    { altitude: 0,
      longitude: -14.538611666666666,
      latitude: 64.752895,
      heading: 0,
      speed: 0.8999988197665498 },
    { 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!

1 Answers

LuongTruong On Best Solutions

I have a work around, the returned extension is not pretty but it is useable:

From the file RNCCameraRollManager.m:

Please add these 2 lines

enter image description here


enter image description here

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"