Javascript 使用expo将图片保存到mediaLibrary的问题
我是一个全新的反应者,而且反应也很自然,但我正在努力学习 我在尝试将图片保存到手机图库时遇到问题 所以,我要进口Javascript 使用expo将图片保存到mediaLibrary的问题,javascript,react-native,promise,expo,Javascript,React Native,Promise,Expo,我是一个全新的反应者,而且反应也很自然,但我正在努力学习 我在尝试将图片保存到手机图库时遇到问题 所以,我要进口 import { MediaLibrary } from 'expo-media-library' 我也在使用美国 const [hasPermission, setHasPermission] = useState(null); const [type, setType] = useState(Camera.Constants.Type.back); const [cameraR
import { MediaLibrary } from 'expo-media-library'
我也在使用美国
const [hasPermission, setHasPermission] = useState(null);
const [type, setType] = useState(Camera.Constants.Type.back);
const [cameraRef, setCameraRef] = useState(null)
在这里,除了保存照片外,一切正常
<TouchableOpacity style={{alignSelf: 'center'}} onPress={async() => {
if(cameraRef){
let photo = await cameraRef.takePictureAsync();
console.log('photo', photo);
MediaLibrary.saveToLibraryAsync(photo.uri)
}
}}>
但我找不到一种方法来保存它到相机辊,我总是得到这个错误
[Unhandled promise rejection: TypeError: undefined is not an object (evaluating '_expoMediaLibrary.MediaLibrary.saveToLibraryAsync')]
任何帮助都将不胜感激
R.我认为您在promise中遇到了未定义的对象错误,因为您不关心
MediaLibrary.saveToLibraryAsync()
和wait
您可能也应该像对待takePictureAsync()一样,将MediaLibrary.saveToLibraryAsync()与Wait
放在一起,因为它是一个异步函数
let photo = await cameraRef.takePictureAsync();
console.log('photo', photo);
await MediaLibrary.saveToLibraryAsync(photo.uri);
只是一个假设,希望它能帮助您解决这个问题。我认为您得到了未定义的对象错误,因为您不关心MediaLibrary.saveToLibraryAsync()
和wait
您可能也应该像对待takePictureAsync()一样,将MediaLibrary.saveToLibraryAsync()与Wait
放在一起,因为它是一个异步函数
let photo = await cameraRef.takePictureAsync();
console.log('photo', photo);
await MediaLibrary.saveToLibraryAsync(photo.uri);
只是一个假设,希望它能帮助你解决这个问题