¿Cómo puedo convertir una imagen seleccionada de imagepicker en base64 antes de enviarla a graphql?
Configuré useState varaibles para establecer
const [image, setImage] = useState(null);¿Qué puedo hacer aquí para convertir?
const choosePhotoFromLibrary = async() => { const permissionResult = await ImagePicker.requestMediaLibraryPermissionsAsync(); if (permissionResult.granted === false) { alert("Permission to access camera roll is required!"); return; } const pickerResult = await ImagePicker.launchImageLibraryAsync(); if(!pickerResult.cancelled) { setImage(pickerResuls.uri); }luego tomo la imagen y la configuro en la variable useState
<View style={styles.picContainer}> <AddPicButton onPress= {choosePhotoFromLibrary} image= {image} /> <Text style={styles.bottomText}>ADD A PICTURE</Text> </View>ImageEditor.cropImage(imageUrl, imageSize, (imageURI) => { ImageStore.getBase64ForTag(imageURI, (base64Data) => { // base64Data contains the base64string of the image }, (reason) => console.error(reason)); }, (reason) => console.error(reason));resulta que ImagePicker tiene su propia conversión base64
const pickImage = async () => { // No permissions request is necessary for launching the image library let result = await ImagePicker.launchImageLibraryAsync({ mediaTypes: ImagePicker.MediaTypeOptions.Images, allowsEditing: true, aspect: [4, 3], quality: 0, base64: true }); console.log(result); if (!result.cancelled) { setImage(result.uri); } console.log(result); };