Extracts information from image and video files including MIME type, duration (video), dimensions, and timestamp. The library work on iOS and Android and uses Java and Obj-C native library (not Node).
npm install @qeepsake/react-native-file-utils
Gets the duration of the video in seconds.
import { getVideoDuration } from '@qeepsake/react-native-file-utils';
const durationMs = await getVideoDuration('file://<media-path>');
Gets the horizontal (x) and vertical (y) pixels of the media item, either image or video. The returned media dimensions includes an object with both the horizontal (x) length in pixels and vertical (y) length in pixels.
import { getDimensions } from '@qeepsake/react-native-file-utils';
const mediaDimensions = await getDimensions('file://<media-path>', 'video');
Gets the MIME type of the media file at the passed Uri.
import { getMimeType } from '@qeepsake/react-native-file-utils';
const mimeType = await getMimeType('file://<media-path>');
Gets the string timestamp of the media file from the passed Uri. The timestamp is usually a date retrieved from either the Exif date if the original datetime of the media is available or by the creation/last modified timestamp from the file itself.
import { getTimestamp } from '@qeepsake/react-native-file-utils';
const timestamp = await getTimestamp('file://<media-path>', 'video');
In this table, you can see what type of URI can be handled by each method.
Method Name | iOS | Android |
---|---|---|
getTimestamp | file:// , assets-library:// |
file:// , content:// |
getVideoDuration | file:// |
file:// |
getMimeType | file:// , ph:// |
file:// , content:// |
getDimensions | file:// , |
file:// |
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT