react-native图像上传时将图像转成Base64并作大小限制后上传
背景
在做APP注册时,需要有选取图像并上传的步骤,于是便用到了react-native-image-picker,顺带一提的是它的Link很特殊,笔者是用的手动的方式才能使用的。
使用方式是ImagePicker.showImagePicker(options, callback)。
在使用是发现服务端返回了413,查了一下是nginx有上传文件大小限制。修改一下服务端设置就好了。
思前想后,觉得作为客户端,也应该对图像数据进行大小检验。
解析
我们使用react-native-image-picker是用的callback来对拿到的图像进行操作的。response对象的属性值在ReadMe中有提到。拿到response.data。
使用typeof(response.data)发现是String,输出发现是Base64的字符串,那就很好解决了。
ImagePicker.showImagePicker(options, (response) => {
if (response.di