将blob从数据库转换为图像javascript

时间:2017-12-16 12:48:21

标签: node.js database reactjs blob

我有一个数据库,其中一个表有blob字段,我想将其显示为图像。我无法找到任何解决方案 - 任何有效的npm包或代码示例都会很有用。我正在使用reactjs和nodejs。

2 个答案:

答案 0 :(得分:0)

您要做的是创建一个可以传递给HTML img的img src的URL

JS

var url = window.URL || window.webkitURL;
var imageSrc = url.createObjectURL('your blob');
document.querySelector("#myimage").src = imageSrc;

HTML

<img id="myimage"/>

答案 1 :(得分:0)

方法1创建可读流和管道以响应

var stream = require('stream');
var bufferStream = new stream.PassThrough();
bufferStream.end(new Buffer( blob, 'binary' ));
res.writeHead(200, {
  'Content-Type' : 'image/jpg'
});
// res is standered express res object
bufferStream.pipe(res)

方法2 将blob传递给base64

var bufferBase64 = new Buffer( blob, 'binary' ).toString('base64');

显示图片

class Example extends React.Component{

    render() {
        return <img src={"data:image/jpeg;" + bufferBase64} />
    }
}

参考 https://stackoverflow.com/.../how-to-create-a-readstream-with-a-buffer-using-nodejs