react-native-file-type
v1.0.0
Published
React Native Support for sindresorhus/file-type
Downloads
20,455
Readme
ReactNative - File Type (Android/iOS)
If this project has helped you out, please support us with a star 🌟
ReactNative: Detect the file type of a Buffer/Uint8Array by reading it from device (Android/iOS/Widnows) file system
This library is a React Native wrapper around sindresorhus/file-type node module.
The file type is detected by checking the magic number of the buffer.
sindresorhus/file-type: fileType(buffer) API, accepts a buffer of binary file data in order to determine it's meta data. Please find below usage for the same:
const readChunk = require('read-chunk');
const fileType = require('file-type');
const buffer = readChunk.sync('unicorn.png', 0, 4100);
fileType(buffer);
//=> {ext: 'png', mime: 'image/png'}
We have created this library for the ease of use. Based on local storage path provided we internally use RNFS to read file and js-base64 to convert data into Uint8Array buffer which is expected by sindresorhus/file-type: fileType(buffer) API
fileType('local-storage-path')
Before we dive into on how to use this library. We would like to thank all the contributor of sindresorhus/file-type for providing such a awesome nice, cool library
Install
npm install react-native-file-type
Internally we are using RNFS to read file. You need to add this library to your project, please follow installation steps RNFS
💻 Usage
import fileType from 'react-native-file-type'
fileType('local-storage-path').then((type) => {
//Ext: type.ext
//MimeType: type.mime
})
✨ Credits
🤔 How to contribute
Have an idea? Found a bug? Please raise to ISSUES. Contributions are welcome and are greatly appreciated! Every little bit helps, and credit will always be given.
💫 Where is this library used?
If you are using this library in one of your projects, add it in this list below. ✨
📜 License
This library is provided under the Apache License.
RNFileType @ prscX
💖 Support my projects
I open-source almost everything I can, and I try to reply everyone needing help using these projects. Obviously, this takes time. You can integrate and use these projects in your applications for free! You can even change the source code and redistribute (even resell it).
However, if you get some profit from this or just want to encourage me to continue creating stuff, there are few ways you can do it:
Starring and sharing the projects you like 🚀
If you're feeling especially charitable, please follow prscX on GitHub.
Thanks! ❤️ prscX.github.io </ Pranav >