首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >响应本机文件系统fs无法找到拍摄的照片

响应本机文件系统fs无法找到拍摄的照片
EN

Stack Overflow用户
提问于 2022-06-30 08:04:02
回答 2查看 810关注 0票数 1

在我的ReactNative应用程序中,我使用"react-native-vision-camera": "^2.13.5"拍照。

在图片被拍摄并上传后,我想从设备中删除它,但是RNFS ( iOS本机-fs)无法通过iOS和Android设备上的给定路径找到该文件:

我知道错误了

错误: ENOENT:没有这样的文件或目录,打开'/private/var/mobile/Containers/Data/Application/1BB2256A-ED83-407D-9C76-07431268779B/tmp/ReactNative/CE2FA429-76C8-4BD9-925A-BED09B0B77BB.jpeg‘/data/user/0/packagename/cache/mrousavy2423256141715663083.jpg;

:不存在

代码语言:javascript
复制
const photo = await camera.current.takePhoto(); // camera: React.RefObject<Camera> 
const task = storage().ref(<ref>).putFile(photo.path) 
const result = await task.then(); // Firebase Storage can read and upload the photo


RNFS.stat(photo.path)  // <-- Error: The file “CE2FA429-76C8-4BD9-925A-BED09B0B77BB.jpeg” couldn’t be opened because there is no such file.

RNFS.unlink(photo.path) // <-- [Error: ENOENT: no such file or directory, open '/private/var/mobile/Containers/Data/Application/1BB2256A-ED83-407D-9C76-07431268779B/tmp/ReactNative/CE2FA429-76C8-4BD9-925A-BED09B0B77BB.jpeg']

// Prepending file://  Does not work too
RNFS.unlink(`file://${photo.path}`)
RNFS.stat(`file://${photo.path}`) 

是因为访问权限导致了本机fs的需求吗?

火柴库是如何访问照片的?

该路径是一个真正的临时文件夹,在应用程序关闭后会被清除吗?

为什么在默认情况下,反应本机--视觉相机--可以保存媒体?

我真的需要手动删除那个媒体还是它被删除了?

代码语言:javascript
复制
env:
    "react-native": "0.68.2",
    "react-native-fs": "^2.20.0",
    "react-native-vision-camera": "^2.13.5",
    physical device : iPhone 8 Plus with iOS 15.5
EN

回答 2

Stack Overflow用户

发布于 2022-07-05 14:29:00

没有必要删除该文件,因为照片存储在一个临时目录中。当应用程序关闭时,它将被删除。

https://mrousavy.com/react-native-vision-camera/docs/api/interfaces/PhotoFile

票数 0
EN

Stack Overflow用户

发布于 2022-07-05 18:20:47

不要调用RNFS.unlink(photo.path),而是尝试RNFS.unlink(photo.uri)。react本机视觉摄像机API输出带有URI的File对象,而不是路径。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72812283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档