import * as MediaLibrary from 'expo-media-library';
import * as FileSystem from 'expo-file-system';
async function saveBase64ImageToAlbum(base64Image) {
const { status } = await MediaLibrary.requestPermissionsAsync();
if (status === 'granted') {
const filename = FileSystem.cacheDirectory + "qrcode.png";
await FileSystem.writeAsStringAsync(filename, base64Image, {
encoding: FileSystem.EncodingType.Base64,
});
const asset = await MediaLibrary.createAssetAsync(filename);
const album = await MediaLibrary.getAlbumAsync('My Album');
// if (album === null) {
// await MediaLibrary.createAlbumAsync('My Album', asset, true);
// } else {
// await MediaLibrary.addAssetsToAlbumAsync([asset], album, true);
// }
toastRef.current.show(t('success'));
console.log('Image saved to album!');
} else if (status === 'denied') {
console.error('Permissions to access camera roll denied!');
// 在此处可以显示一个提示,告知用户需要授予访问相册的权限
Alert.alert(t('cancel'))
} else {
Alert.alert(t('cancel'))
console.error('Permissions to access camera roll not granted!');
// 在此处可以显示一个提示,告知用户需要授予访问相册的权限
}
}
网友评论