gpt4 book ai didi

javascript - 我无法使用 RNFS 使用从 RNCameraRoll 获取的阶段集读取文件

转载 作者:行者123 更新时间:2023-11-29 05:34:33 26 4
gpt4 key购买 nike

我正在尝试验证从 React Native 中的 CameraRoll 中选择的图像的文件大小。我的代码可以在 Android 中运行,但不能在 IOS 中运行,因为 RNFS.readFile 不支持 PHASSETS。还有其他方法可以在 React Native 中验证图像的文件大小吗?

我也尝试过使用 RNFS 的 copyAssetsFileIOS

RNFS.copyAssetsFileIOS(path, RNFS.TemporaryDirectoryPath, 0, 0)
.then(res => console.log('RES: ', res))
.catch(err => console.log('ERROR: ', err));

我还尝试将 PHASSET 转换为 ALASSET

path = `assets-library://asset/asset.${ext}?id=${path.substr(9)}&ext=${ext}`;

这是我的代码,适用于 Android,但不适用于 IOS

RNFS.readFile(path, 'base64')
.then(res => {
// eslint-disable-next-line no-undef
const str = Platform.OS === 'ios' ? base64.decode(res) : atob(res);
const fileSize = str.length;
if (fileSize < 3000000)
this.setState({
imageSource: source,
hasExceededLimit: false,
});
else this.setState({ hasExceededLimit: true });
})
.catch(() => this.setState({ hasExceededLimit: true }));

最佳答案

iOS 是沙盒的,这意味着您无法直接读/写访问 App Bundle 之外的任何文件。要访问 iOS 照片库中的照片/视频,请使用照片框架中的方法。

关于javascript - 我无法使用 RNFS 使用从 RNCameraRoll 获取的阶段集读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57178256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com