React native 使用已从blob转换的URL填充图像
我正在尝试用URl填充图像React native 使用已从blob转换的URL填充图像,react-native,fetch-api,react-native-android,React Native,Fetch Api,React Native Android,我正在尝试用URl填充图像 <Image source={{uri: this.state.imageURL}} style={styles.thumb} /> 当I console.log()显示它打印的imageURL时: blob:http%3A//localhost%3A8081/4ce24d92-0b7e-4350-9a18-83b74bed6f87 我没有收到任何错误或警告。图像只是没有显示 我正在使用android模拟器 请帮忙。提前谢谢 解决方案 React Na
<Image source={{uri: this.state.imageURL}} style={styles.thumb} />
当I console.log()显示它打印的imageURL时:
blob:http%3A//localhost%3A8081/4ce24d92-0b7e-4350-9a18-83b74bed6f87
我没有收到任何错误或警告。图像只是没有显示
我正在使用android模拟器
请帮忙。提前谢谢 解决方案
React Native不支持Blob[ref:]。为了让它工作,我必须下载返回base64字符串的文件
返回base64字符串的函数:
var RNFetchBlob = require('react-native-fetch-blob').default;
getImageAttachment: function(uri_attachment, mimetype_attachment) {
return new Promise((RESOLVE, REJECT) => {
// Fetch attachment
RNFetchBlob.fetch('GET', config.apiRoot+'/app/'+uri_attachment)
.then((response) => {
let base64Str = response.data;
var imageBase64 = 'data:'+mimetype_attachment+';base64,'+base64Str;
// Return base64 image
RESOLVE(imageBase64)
})
}).catch((error) => {
// error handling
console.log("Error: ", error)
});
},
使用base64填充图像
然后,我将返回的Base64图像填充到图像中:
<Image source={{uri: imageBase64}} style={styles.image} />
如何显示base64图像。我使用了RNFetchblob,并对图像进行了编码。但在我的屏幕上,它不会显示出来以BASE64编码的二进制字段数据{name:'pet avatar',filename:'pet avatar.jpg',data:RNFetchBlob.BASE64.encode(image_data)},
<Image source={{uri: imageBase64}} style={styles.image} />