在本机反应中将图像转换为base64
Posted
技术标签:
【中文标题】在本机反应中将图像转换为base64【英文标题】:Image to base64 in react native 【发布时间】:2019-03-13 12:05:22 【问题描述】:如何在 react native 中将本地图片转换为 base64 并上传到服务器,请帮助任何人解决此问题。我已经尝试使用谷歌上提供的名为 image-to-base64 npm 的库。
【问题讨论】:
【参考方案1】:使用博览会 API
import ImageManipulator from 'expo';
const response = await ImageManipulator.manipulateAsync("file to local path", [], base64: true )
console.log('base64res' + JSON.stringify(response));
【讨论】:
【参考方案2】:我们可以使用图像选择器在 react native 中获取图像的 base64 字符串以供 Profile 使用等等。 在这里,我放了一段代码,这将有助于使用图像选择器功能在 react native 中获取 base64 字符串。
selectPhotoTapped()
const options =
quality: 1.0,
maxWidth: 500,
maxHeight: 500,
storageOptions:
skipBackup: true,
,
;
ImagePicker.showImagePicker(options, response =>
console.log('Response = ', response.data);
if (response.didCancel)
console.log('User cancelled photo picker');
else if (response.error)
console.log('ImagePicker Error: ', response.error);
else if (response.customButton)
console.log('User tapped custom button: ', response.customButton);
else
// let source = uri: response.uri ; <-- here you can get uri of image
// var RNFS = require('react-native-fs');
// You can also display the image using data:
let source = 'data:image/jpeg;base64,'+ [response.data]; //<-- here you can get image with base64string
this.setState(
avatarSource: source,
);
// this.setState(
// Profile_Picture:this.state.avatarSource
// )
// console.log(this.state.Profile_Picture)
);
之后,您可以使用 onPress 事件从您的库中获取图像,但在此之前您必须授予使用本地存储中的 android 或 ios 图像的权限。 图像选择器的安装链接 Use This Link for Installation of Image picker in react native
【讨论】:
【参考方案3】:使用react-native-image-base64:
import ImgToBase64 from 'react-native-image-base64';
ImgToBase64.getBase64String('file://path/to/file')
.then(base64String =>
// Send the base64String to server
)
.catch(err => console.log(err));
【讨论】:
先生,你能给我一个例子吗?? 非常感谢先生,但我通过其他方式得到了它。以上是关于在本机反应中将图像转换为base64的主要内容,如果未能解决你的问题,请参考以下文章