我需要将本地的照片转成base64,上传到服务器
是怎么用react native转图片为base64,不是静态资源转。
需要兼容Ios和Android
我需要将本地的照片转成base64,上传到服务器
是怎么用react native转图片为base64,不是静态资源转。
需要兼容Ios和Android
最近也遇到这个问题了,看了很多资料好像并没有什么直接的操作方法,项目时间紧迫,没时间仔细研究,就用很笨拙的方式,暂时满足了这个需求,用react-native-view-shot截屏的方式,获取到了当前图片的临时截图路径url,再通过RNFS.readFile转换成了base64的图片,效率并不高,具体代码如下:
APP内的js文件中html图片的展示(将image标签用ViewShot括起来,方便获取截屏区域):
<ViewShot ref="viewShot">
<Image
onLoadStart={() => {this.setSize(this.state.imgUrl)}}
onLayout={() => {this.setSize(this.state.imgUrl)}}
style={{
width: this.state.imgW,
height: this.state.imgH,
}}
source={{uri: this.state.imgUrl, isStatic: true}}
/>
</ViewShot>
具体转换操作js代码:
this.refs.viewShot.capture().then(url => {
RNFS.readFile(url, 'base64').then(res => {
console.log(res) //当前的res就是获取到的最终的base64格式
})
});
楼主若有更好的解决方案,望分享
3 回答2.3k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
1 回答839 阅读✓ 已解决
1 回答812 阅读✓ 已解决
1 回答862 阅读
1 回答1k 阅读
1 回答951 阅读
在线转码base64或者用自动化工具webpack、gulp等等,转完之后拿到base64码
<img src="" data:image/png;base64,在这里粘贴你的base64码/>
这个应该没有兼容性的
希望可以帮到你