React native react native fs在模拟器上工作但在实际设备上不工作的可能原因

React native react native fs在模拟器上工作但在实际设备上不工作的可能原因,react-native,React Native,RNFS下载的代码段在emulator中工作起来像一个符咒,但在实际设备中却不是 以下是我的片段: console.log("FILE URL: " + FILE_URL); // http://localhost:8081/server/public/sentfile/60b5a385e2416132e4e0c495_60b5a0c7e2416132e4e0c494/7gyic4f659ddsp10jvhsw2489.png let ext = FILE_URL.split

RNFS下载的代码段在emulator中工作起来像一个符咒,但在实际设备中却不是

以下是我的片段:

console.log("FILE URL: " + FILE_URL); // http://localhost:8081/server/public/sentfile/60b5a385e2416132e4e0c495_60b5a0c7e2416132e4e0c494/7gyic4f659ddsp10jvhsw2489.png
let ext = FILE_URL.split(".").pop();

const localFile = `${RNFS.DocumentDirectoryPath}/tmp.` + ext;
console.log("LF: " + localFile) // /data/user/0/com.neotechapp/files/tmp.png

let options = {
  fromUrl: FILE_URL,
  toFile: localFile
};


RNFS.downloadFile(options).promise
.then((res) => {
  console.log("RES: " + JSON.stringify(res))
  FileViewer.open(localFile);
})
.then((res) => {
    // success
})
.catch((err) =>{
  console.log(err);
});

在我的实际设备上,它返回一个错误
[错误:无法连接到本地主机/127.0.0.1:8081]

您试图从本地服务器下载文件”http://localhost:8081“

在您的设备上,这将指的是手机本身,而不是服务器。 因此,您需要的是使用公共IP(例如“192.168.1.2”)


在windows上,使用
ipconfig
查找您的计算机IP。对于linux使用
ifconfig

你能通过选项对象吗?我添加了选项和其他可能相关的信息。我明白了。让我试试。谢谢。顺便说一句,在我的调试服务器主机和端口上,它已经在检查服务器IP和端口了。从来没想过。非常感谢。出于测试目的,我刚刚在服务器ip中添加了一个替换本地主机。