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

Luc*_*eto 5 react-native expo

简单的问题。我的根目录中有一个资产文件夹,其中有一些文件。

示例:assets/doc/wantedfile.pdf

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

但该项目正在世博会上,因此我在这里找到的 Android 和 IOS 问题的解决方案不起作用。该解决方案必须与 expo 配合使用。

我无法使用 RNFetchBlob 因为它需要链接(不适用于博览会)

不能脱离世博会,因为工程量很大,需要做很多工作。

不知道 RNFS 是否适用于 expo,尚未测试,如果需要链接则不起作用。

有小费吗 ?

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

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

小智 8

使用Asset模块

import { Asset } from 'expo';

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

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