Javascript 我能';t使用从RNCameraRoll获取的相集使用RNFS读取文件
我正在尝试验证在React Native中从CameraRoll中选择的图像的文件大小。我的代码在Android中工作,但在IOS中不工作,因为RNFS.readFile不支持PHASSETS。是否有其他方法验证react native中图像的文件大小 我还尝试过使用RNFS的CopyAssetFileIOSJavascript 我能';t使用从RNCameraRoll获取的相集使用RNFS读取文件,javascript,ios,react-native,phasset,react-native-fs,Javascript,Ios,React Native,Phasset,React Native Fs,我正在尝试验证在React Native中从CameraRoll中选择的图像的文件大小。我的代码在Android中工作,但在IOS中不工作,因为RNFS.readFile不支持PHASSETS。是否有其他方法验证react native中图像的文件大小 我还尝试过使用RNFS的CopyAssetFileIOS RNFS.copyAssetsFileIOS(path, RNFS.TemporaryDirectoryPath, 0, 0) .then(res => consol
RNFS.copyAssetsFileIOS(path, RNFS.TemporaryDirectoryPath, 0, 0)
.then(res => console.log('RES: ', res))
.catch(err => console.log('ERROR: ', err));
我还尝试将相位集转换为相位集
path = `assets-library://asset/asset.${ext}?id=${path.substr(9)}&ext=${ext}`;
这是我的代码,它在安卓系统中工作,但在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 }));
RNFS.readFile(路径'base64')
。然后(res=>{
//eslint禁用下一行无未定义
const str=Platform.OS=='ios'?base64.decode(res):atob(res);
const fileSize=str.length;
如果(文件大小<3000000)
这是我的国家({
图像来源:来源,
已超出限制:错误,
});
else这个.setState({haseExceededLimit:true});
})
.catch(()=>this.setState({haseExceededLimit:true}));
iOS是沙盒的,这意味着您无法直接读取/写入应用程序包之外的任何文件。
要访问iOS照片库中的照片/视频,请使用照片框架中的方法。iOS是沙盒,这意味着您无法直接读取/写入应用程序包之外的任何文件。
要访问iOS照片库中的照片/视频,请使用照片框架中的方法。谢谢,但是如何在React-Native中使用照片框架?谢谢,但是如何在React-Native中使用照片框架?