Javascript - ReactJS - 以ReadableStream作为源显示图像

时间:2017-09-01 14:11:17

标签: javascript html image reactjs

我将PNG图像作为ReadableStream,我需要以此ReadableStream作为源显示html元素img。我应该把它转换成什么吗?或者我该怎么做?

感谢您的回答

1 个答案:

答案 0 :(得分:0)

来自Google的docs

  1. 获取回复的blob
  2. 解决其Promise
  3. 使用URL.createObjectURL
  4. 创建本地源
  5. 将其添加到您的文档(或更新状态)

这是一个例子

import React, { Component } from 'react'


function validateResponse(response) {
    if (!response.ok) {
        throw Error(response.statusText);
    }
    return response;
}

export default class componentName extends Component {

    state = {
        src: null
    }

    componentDidMount() {
        fetch(`http://localhost:5000/api/images/home`)
            .then(validateResponse)
            .then(response => response.blob())
            .then(blob => {
                this.setState({ src: URL.createObjectURL(blob) })
            })

    }


    render() {
        return (
            <div>
                { this.state.src && <img alt="home" src={ this.state.src }></img> }
            </div>
        )
    }
}

就我而言,数据来自send_file Python后端的 Flask响应