【发布时间】:2021-06-26 19:02:04
【问题描述】:
我试图让用户长按下载图像,在搜索Expo文档后我已经找到了一些方法,但我不确定为什么它不起作用!
这是我的代码:
import React from 'react'
import { Image } from 'react-native-elements'
import { ActivityIndicator, StyleSheet, View, TouchableOpacity } from 'react-native'
import * as MediaLibrary from 'expo-media-library';
import * as Permissions from 'expo-permissions';
const Img = () => {
const download = async (uri) => {
const { status } = await Permissions.askAsync(Permissions.MEDIA_LIBRARY);
if (status === 'granted') {
let uriString = uri.toString();
const asset = MediaLibrary.createAssetAsync(uriString);
await MediaLibrary.createAlbumAsync("DownLoads", asset);
}
}
return (
<View style={{ flex: 1, alignItems: "center", justifyContent: "center" }}>
<TouchableOpacity activeOpacity={0.2}>
<Image source={{ uri: "https://miro.medium.com/max/1838/1*mk1-6aYaf_Bes1E3Imhc0A.jpeg" }}
style={{ width: 300, height: 300 }}
onLongPress={download(Image.uri)}
PlaceholderContent={<ActivityIndicator />} />
</TouchableOpacity>
</View>
)
}
export default Img
const styles = StyleSheet.create({})
我错过了什么吗?
【问题讨论】:
标签: javascript image react-native expo media-library