react-native-image-picker获取图片公共路径
时间: 2023-07-28 15:10:39 浏览: 196
React Native 中的 ImagePicker 组件获取到的图片是以 URI 的形式返回的,而不是公共路径。如果您需要将图片保存到公共路径中,可以使用 `react-native-fs` 这个第三方库,用于读取和写入文件系统。
以下是一个简单的示例,演示如何将 ImagePicker 返回的图片保存到公共路径中:
```javascript
import React, { useState } from 'react';
import { Button, Image, View } from 'react-native';
import ImagePicker from 'react-native-image-picker';
import RNFS from 'react-native-fs';
const App = () => {
const [image, setImage] = useState(null);
const handleChoosePhoto = () => {
const options = {
mediaType: 'photo',
quality: 1,
};
ImagePicker.launchImageLibrary(options, response => {
if (response.uri) {
const folderPath = RNFS.DownloadDirectoryPath;
const fileName = 'myImage.jpg';
const filePath = `${folderPath}/${fileName}`;
RNFS.copyFile(response.uri, filePath).then(() => {
setImage(filePath);
});
}
});
};
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
{image && (
<Image
source={{ uri: `file://${image}` }}
style={{ width: 200, height: 200 }}
/>
)}
<Button title="Choose Photo" onPress={handleChoosePhoto} />
</View>
);
};
export default App;
```
在上面的示例中,我们使用 `react-native-fs` 中的 `copyFile` 方法将 ImagePicker 返回的图片复制到公共路径中,并将公共路径作为 state 更新。最后,我们使用 `file://` 协议将图片加载到 Image 组件中。
希望这能帮到您!
阅读全文