在我的应用程序中,我使用Expo FileSystem本地保存了一批图像,并将它们的完整uri存储在redux中(file://......)。每当拍摄图像时,我都会将图像转换为base64,并将其作为文件存储在文档目录中。当用户将一批图像上传到firebase时,我使用uploadBytes函数,从而将base64文件转换为字节。然而,当我通过Testflight或app Store更新应用程序时,我无法查看或上传已经拍摄的图像。这是因为文档目录路径在更新时被修改了吗?
文件系统的文档:https://docs.expo.dev/versions/latest/sdk/filesystem/
修复:似乎更新应用程序确实会更改文件路径。因此,它是通过首先获取相对文档路径并附加所需文件来解决的,例如FileSystem.documentDirectory+${nameOfFile}
@jorho的答案是正确的,但我花了几分钟点击,一开始我没有认出它,所以我想我应该为向下滚动的人添加一个答案。
我是从";传统的";文件系统。这不是怎么回事。这里发生的情况是,即使路径正在更改,它仍然引用原始文件。
什么?
我知道对吧?这里的关键是要理解;旧的";绝对路径不再起作用;新的";绝对路径确实指向您的文件。
与直觉相反,使用不同的路径(即准备更改后的DocumentDirectory(将按预期访问现有存储的文件。