Possibility to Save an Image
Opened this issue · 1 comments
Hi all
Thanks for this library!
I was wondering how to save an image to the photo gallery.
I saw that there is a onLongPress
prop that we could set.
Are there any recommendations on how to save it and ask for permissions in the next step?
Thank you
IDK the package support it?
My solution is
import React, { useState } from 'react';
import { View, Image, TouchableOpacity, Text, StyleSheet } from 'react-native';
import ImageView from "react-native-image-viewing";
import RNFetchBlob from 'rn-fetch-blob';
const YourComponent = () => {
const imageUrl = 'URL_OF_YOUR_IMAGE';
const [isImageViewVisible, setImageViewVisible] = useState(false);
const handleDownloadImage = async () => {
try {
const res = await RNFetchBlob.config({
fileCache: true,
appendExt: 'png',
}).fetch('GET', imageUrl);
const savedImagePath = res.path();
console.log('Image downloaded to:', savedImagePath);
} catch (error) {
console.error('Error downloading image:', error);
}
};
return (
<TouchableOpacity onPress={() => setImageViewVisible(true)}>
<Image source={{ uri: imageUrl }} style={styles.image} />
<ImageView
images={[{ uri: imageUrl }]}
imageIndex={0}
visible={isImageViewVisible}
onRequestClose={() => setImageViewVisible(false)}
FooterComponent={({ imageIndex }) => (
<TouchableOpacity onPress={handleDownloadImage}>
<Text style={styles.downloadButton}>Download</Text>
</TouchableOpacity>
)}
/>
</View>
);
};
export default YourComponent;