javascript - 如何在 React Native 中显示 blob 图像

标签 javascript node.js reactjs react-native blob

这是我的代码:

<Image source={BlobImage} style={{ height: 200, width: null, flex: 1 }} />

其中 BlobImage 是像这样的 blob 字符串中的图像c916851b-3e53-432d-8d18-3de293776859?offset=0&size=371537

编辑:

我将 base64 图像上传到 cpanel,它会自动转换为 Blob。当我从 cpanel 获取数据时,我得到一个缓冲区数组并且无法显示它。我试过了,但没用

var blob = new Blob([img], {type: "image/png"})
var blobUrl = URL.createObjectURL(blob);

在渲染中

<Image source={{uri:blobUrl}} style={{ height: 200, width: null, flex: 1 }} />

其中 img 是来自 cpanel 的原始数据,它是一个字节数组。

这就是我使用 react-native-photo-upload 获取数据的方式

<PhotoUpload
    onPhotoSelect={avatar => {
                   if (avatar) {
                       this.setState({
                           imageUrl: avatar
                       });
                   }}}>

最佳答案

您可以将 blobFileReader 转换为 base64 api,然后显示它。

代码:

const fileReaderInstance = new FileReader();
 fileReaderInstance.readAsDataURL(blob); 
 fileReaderInstance.onload = () => {
     base64data = fileReaderInstance.result;                
     console.log(base64data);
 }

一旦你得到它就显示它:

<Image source={{uri: base64ImageData}} style={{ height: 200, width: null, flex: 1 }} />

关于javascript - 如何在 React Native 中显示 blob 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49915297/

相关文章:

javascript - 从 EJS 中的日期对象切片时间戳 - Javascript、HTML、Node.js

node.js - Node 检查器 -brk 不工作

mysql - NodeJS Express MySQL post 请求抛出 "Cannot set headers after they are sent to the client"

javascript - react : how to check and uncheck a checkbox

javascript - 每当 java 脚本过时时强制刷新客户端浏览器

javascript - 尝试在按下按键时使矩形在 Canvas 中移动,但它不起作用

javascript - React Plaid 组件刷新页面

javascript - 如何编写 next.config.js 文件

javascript - 将文本放在圆圈内。 d3.js

javascript - Jest 模拟方法根据输入返回特定结果