I am using image picker and RNFetchBlob. before uploading image i reduce the size of the image .
const options = {
cameraType: 'back',
mediaType: 'mixed',
maxWidth:50,
maxHeight:50,
width:50,
height:50,
allowsEditing:true,
noData:true,
storageOptions: {
cameraRoll: false, // Don't save photos to the camera roll
path: "/data/data/com.testapp/itemfiles",
skipBackup: true, // No need to backup to iClould
},
};
uploading image
I am using image picker and RNFetchBlob. before uploading image i reduce the size of the image . const options = { cameraType: 'back', mediaType: 'mixed', maxWidth:50, maxHeight:50, width:50, height:50, allowsEditing:true, noData:true, storageOptions: { cameraRoll: false, // Don't save photos to the camera roll path: "/data/data/com.testapp/itemfiles", skipBackup: true, // No need to backup to iClould }, }; uploading image
const Blob = RNFetchBlob.polyfill.Blob; const fs = RNFetchBlob.fs; window.XMLHttpRequest = RNFetchBlob.polyfill.XMLHttpRequest; window.Blob = Blob; let uploadBlob = null const imageRef = firebase.storage().ref().child('images/') let mime = 'image/jpg' fs.readFile(image.uri, 'base64') .then((data) => { return Blob.build(data, { type:
${mime};BASE64
}) }) .then((blob) => { uploadBlob = blob return imageRef.put(blob, { contentType: mime }) }) .then(() => { uploadBlob.close() return imageRef.getDownloadURL() }) .then((url) => { // URL of the image uploaded on Firebase storage console.log(url); this.getRef().child('personalChat/' + this.generateChatId()).push({ _id: now , text: message.text != null ? message.text : '', createdAt: now, uid: this.user.uid, senderName: this.state.senderName, receiverName:this.state.receiverName, receiverUid:this.friend.uid, order: -1 * now, image:url,Image picker response {height: 33, origURL: "assets-library://asset/asset.JPG?id=B84E8479-475C-4727-A4A4-B77AA9980897&ext=JPG", uri: "file:///Users/mac/Library/Developer/CoreSimulator/…temfiles/3F33BD6C-0232-415E-8642-1FD043412478.jpg", fileName: "IMG_0002.JPG", width: 50, …}
But i am not able to upload the image using image.uri in RNFetchBlob. How can i upload the image using my specified size .Please help me.