我在资产文件夹中有文件,该文件在Xcode的my_project / assets下创建。 通常,我可以使用以下命令访问模板WebView中的文件:
source = {uri:'ICF-Package / ICFPackage / index.html'}
但是我无法使用react-native-fs将此文件复制到LibraryDirectoryPath:
RNFS.copyFile('。ICF-Package / ICFPackage / index.html',RNFS.LibraryaDirectory +'/index.html').then((result)=> console.log('DONE'))。catch ((错误)=> console.log(错误,'错误'));
请帮助我。
答案 0 :(得分:0)
文件副本位于ios资产文件中。但是您将sourcePath传递给方法是相对于react-native路径的。它表示与需要它的组件相同的文件夹。
一种方法是,将文件移到react-native目录中,然后使用它。它也有一个优势,对于android来说,它也可以工作。
另一种方法是,将用于不同平台的文件放在不同的文件中。对于android,将其放置在资产中,对于ios,将其放置在RNFS.MainBundlePath中。资产目标和main.jsbundle必须位于同一文件夹RNFS中。MainBundlePath是main.jsbundle路径。
//for android
if(Platform.OS == "android"){
RNFS.copyFileAssets("file path under the assets",destPath)
} else {
//for ios
RNFS.copyFile(RNFS.MainBundlePath + "the path under ios assets",destPath)