Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qeepsake/react-native-file-utils
React Native utility library around image and video files for getting metadata like MIME type, timestamp, duration, and dimensions. Works on iOS and Android using Java and Obj-C, instead of Node 🚀.
https://github.com/qeepsake/react-native-file-utils
dimensions duration exif-metadata image mime mime-type mimetype react-native video
Last synced: about 1 month ago
JSON representation
React Native utility library around image and video files for getting metadata like MIME type, timestamp, duration, and dimensions. Works on iOS and Android using Java and Obj-C, instead of Node 🚀.
- Host: GitHub
- URL: https://github.com/qeepsake/react-native-file-utils
- Owner: Qeepsake
- License: mit
- Created: 2021-11-23T12:51:20.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-12T13:12:18.000Z (over 1 year ago)
- Last Synced: 2024-04-26T23:01:59.942Z (10 months ago)
- Topics: dimensions, duration, exif-metadata, image, mime, mime-type, mimetype, react-native, video
- Language: Objective-C
- Homepage:
- Size: 911 KB
- Stars: 13
- Watchers: 9
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Qeepsake React Native File Utils
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).
## Installation
```sh
npm install @qeepsake/react-native-file-utils
```## Usage
### Get the duration of video file
Gets the duration of the video in seconds.
```js
import { getVideoDuration } from '@qeepsake/react-native-file-utils';const durationMs = await getVideoDuration('file://');
```### Get the media file dimensions in pixels
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.
```js
import { getDimensions } from '@qeepsake/react-native-file-utils';const mediaDimensions = await getDimensions('file://', 'video');
```### Get the MIME type of a media item file
Gets the MIME type of the media file at the passed Uri.
```js
import { getMimeType } from '@qeepsake/react-native-file-utils';const mimeType = await getMimeType('file://');
```### Get the timestamp of a media item file
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.```js
import { getTimestamp } from '@qeepsake/react-native-file-utils';const timestamp = await getTimestamp('file://', 'video');
```## Supported Schemes
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://`
## ContributingSee the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
## License
MIT