Quickstart - React Native¶
Install¶
npm i react-native-izzati --save
RNFB_ANDROID_PERMISSIONS=true react-native link react-native-fetch-blob
Usage¶
- Import it
import Izzati from 'react-native-izzati'
- Then create a new instance with the URL
let i = new Izzati("http://192.168.1.17:5020/")
3. Then send, using i.send(options)
. The format is described in the
below table.
The input options object has three items which are all themselves objects, text, file, and response. Not all of them must be used. All are optional.
text | file | response | notes |
---|---|---|---|
key | The dict key | ||
value | The dict value | ||
uri | A path | ||
base64 | A base64 representation of the data, without proper data:image/jpeg;base64, prefix | ||
filename | The filename of the file | ||
base64 | true or false. If false, then a path is outputted |
An example would be {text: {hello: 'me'}, file: {uri: resizedImageUri, filename: 'photo.jpg'}, response: {base64: false}}
The output object has three possible outputs, text, base64, or path.
text | This is a normal JS object, when text is returned. |
base64 | This is the base64 representation of a file, without the prefix. |
path | This is the path of the file, without the required file:// on Android. |
The callback only takes one argument, and that is the out object.
A few functions exist other than send.
prefixJpg(base64)
Adds ‘data:image/jpeg;base64,’ to base64 and returns the result.
prefixPath(path)
Adds ‘file://‘ if on Android and returns the result.
Example¶
let i = new Izzati("http://192.168.1.17:5020/")
i.send({text: {hello: 'me'}, file: {uri: resizedImageUri, filename: 'photo.jpg'}, response: {base64: false}}).then( out => {
this.setState(previous => {
return {uri: i.prefixPath(out.path)}
})
}).catch(err => {
console.log(err)
})
...
<Image style={{flex: 1}} source={{uri: this.state.uri}} />