React native无法使用Image.source iOS的本地tmp文件路径

时间:2018-06-08 07:44:16

标签: javascript ios reactjs react-native

无法使用Image.source iOS的本地临时文件路径。

    <Image 
      style={styles.containerRightCakeImageTag}
      source={{ 
        isStatic: true,
        uri: "file:///Users/md_007/Library/Developer/CoreSimulator/Devices/B450EF4D-7A43-4F2E-AE39-7D92427EBC7E/data/Containers/Data/Application/C2204990-8808-43C0-9678-F6A9CBA74998/Documents/6b66bfab94acc2d89d4c533a1d7ba767.jpeg" 
      }}
    />

4 个答案:

答案 0 :(得分:3)

你可以使用react-native-fs来获取目录(适用于ios和android)

var RNFS = require('react-native-fs');

图片元素如下:

<Image source={{uri: 'file://' + RNFS.DocumentDirectoryPath + '/directory/my.png'}} /> 

答案 1 :(得分:1)

当您阅读本地文件或图像(例如使用react-native-cached-image缓存的图像)时,您必须添加&#34;文件://&#34;仅适用于Android平台,不适用于iOS平台。

以下是我的某个应用中的一些代码:

let path = Platform.OS === "android" ? ('file://' + imageLocalUrl) : imageLocalUrl;

但是,您最好使用&#34; react-native-fs&#34;读取文件路径,而不是使用代码中的模拟器路径。

答案 2 :(得分:0)

图像文件必须与需要它的.js文件存在于同一文件夹中。

<Image source={require('./Logo.png')} />

项目文件夹中的图像文件并要求它。

import Logo from '..' // set image path 

<Image source={require(Logo)} />

答案 3 :(得分:-1)

在源代码中使用isStatic和uri满足您的需求

const localUri = "file:///Users/md_007/Library/Developer/CoreSimulator/Devices/B450EF4D-7A43-4F2E-AE39-7D92427EBC7E/data/Containers/Data/Application/C2204990-8808-43C0-9678-F6A9CBA74998/Documents/6b66bfab94acc2d89d4c533a1d7ba767.jpeg" ;
<Image source={{ isStatic: true, uri: localUri }} />