如何使用react-native和expo获取位于assets文件夹中的文件的绝对路径?

时间:2019-05-22 16:28:59

标签: react-native expo

简单的问题。我的根目录中有一个资源文件夹,并且那里有一些文件。

示例:assets / doc / wantedfile.pdf

我需要获取此文件的绝对路径,而不是相对路径。大概是这样的:file:/// data / expo /(...)/app/assets/doc/wantedfile.pdf

但是该项目正在进行中,所以我在这里找到的针对Android和IOS的问题的解决方案不起作用。该解决方案必须与expo配合使用。

我不能使用RNFetchBlob,因为它需要链接(不适用于expo)

由于项目非常大,将需要大量的工作。

不知道RNFS是否可以与expo一起使用,还没有经过测试,如果需要链接则无法使用。

任何提示吗?

我尝试使用FileSystem.documentDirectory来获取绝对路径,但是它为我提供了一个空目录文件夹的路径(我认为它是模拟器的目录文件夹,而不是应用程序)。

我需要获取资产文件夹的abs路径。

1 个答案:

答案 0 :(得分:2)

使用Asset模块

import { Asset } from 'expo';

...
async render() {
  const pdfURI = await Asset.fromModule(require('.assets/doc/wantedfile.pdf')).uri;
}
...

在此处查看详细信息:https://docs.expo.io/versions/v32.0.0/sdk/asset/#expoassetloadasyncmodules

相关问题