在React Native中查看保存在缓存中的图像

时间:2018-10-29 22:55:16

标签: react-native

我当前正在尝试打开从react-native-camera模块保存在缓存中的图像。根据此Open android Gallery App from react native app,他们在传递content://网址而不是file://网址时设法做到了,但是经过一番研究,我找不到将文件uris转换为内容的任何方法-只是相反。我可以通过以下方式获取图像文件路径:

import RNFS from 'react-native-fs'
import { Linking } from 'react-native'

RNFS.readDir(RNFS.CachesDirectoryPath)
.then(arr => RNFS.readDir(arr[0].path)) // The Camera directory
.then(arr => arr.forEach(item => {
    const contentURI = somehowConvertPathToContentURI(item.path)

    Linking.canOpenURL(contentURI)
    .then(able => able ? Linking.openURL(contentURI) : console.log('No application available'))
    .catch(console.log)
}))
.catch(console.log)

记录的路径为/data/user/0/com.myapp/cache/Camera/ad8db2ca-4739-47cc-b18d-c5147c8c26e0.jpg。在前面添加file://会给我文件uri,content://呢?

请注意,如果我使用react-native-fs读取并将其转换为base64,然后将base64提供给react-native的<Image>组件,则可以直接显示该图像-但我d想使用图库应用程序打开该应用程序

0 个答案:

没有答案