无法在 React Native 上使用 : 读取文件名

kcN*_*eko 2 javascript react-native

我在react-native上使用PDF查看器,一些没有 : 的文件可以打开,但其他带有 : 的文件将无法打开并返回No content provider

有没有办法在react-native上读取名称上带有 : 的本地存储文件?

比如这种文件路径

const filenameWithSpace = 'file:///storage/emulated/0/somwhere/foo foo Nov 21, 2018 12:16:04 PM.pdf'
Run Code Online (Sandbox Code Playgroud)

我已经尝试过了encodeURIComponentencodeURI但没有成功。

更新: 文件名的问题实际上是:字符而不是空格。

Jay*_*ngh 5

如果文件 uri 中有空格,则会失败。

var base64data = await RNFS.readFile( res.uri, 'base64').then(res => { return res });
Run Code Online (Sandbox Code Playgroud)

替换为这一行

var result = res.uri.split("%20").join("\ ");
var base64data = await RNFS.readFile( result, 'base64').then(res => { return res });
Run Code Online (Sandbox Code Playgroud)

这会起作用