首页 > 解决方案 > 使用 react-native-image-crop-tool 在 React Native 中上传时缓存图像不可读

问题描述

在我正在构建的一个 react-native 应用程序中,我使用了react-native-image-crop-tool 它为我提供了裁剪和旋转图像的 uri。但问题是,当我使用 Axios 将此 url 上传到服务器时,服务器无法读取它并抛出错误。

我的应用程序的层次结构是:UploadScreen -> ImageCropScreen -> 上传屏幕。

在上传屏幕上,有一个加号按钮可以打开相机或图库并选择图像。选择后,它被重定向到 ImageCropScreen 使用提到的库并实现裁剪和旋转功能的地方。

当使用react-native-image-picker捕获图像并且服务器抛出Image not readable错误时,请考虑以下两种情况:

  1. 完成裁剪后,URL 返回到上传屏幕,在平面列表中显示。按下上传按钮时,会调用图像上传 API,但会引发unreadable错误。

  2. 裁剪完成后,图像从 ImageCropScreen 本身上传到服务器并成功上传。

  3. 那些在图库中可见的捕获图像,当我从图库中选择要上传的图像时,它会给出相同的图像不可读错误。

PS:图像由裁剪库存储在缓存中。参考图片网址:file:/data/user/0/in.application.name/cache/21b8299a-e647-42e8-a107-62ac0dca9e66.jpg

总之,缓存图像在 10-15 秒后无法访问(这是我观察到的),但可以在图库中查看,甚至显示在<Image>.

我对这项技术很陌生。

标签: imagereact-native

解决方案


推荐阅读