如何使用Express从mysql显示图像

时间:2019-02-20 19:51:51

标签: mysql node.js express

我有一个SQL表“动物”,上面有斑点图像。我发现了如何上传图像,但没有找到如何显示图像。

我想在表中显示称为“狗”的图像。 这是我的代码,在其中打印blob img的结果。

let sql = 'SELECT * FROM animals WHERE file_name=\'Dog\''
    connection.query(sql, (err,result) => {
        console.log(result[0].img)

    })

这是我的代码的结果:

<Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 00 01 00 00 ff db 00 84 00 09 06 07 13 12 12 15 13 13 13 16 16 15 15 18 18 17 16 18 15 17 15 17 17 16 ... >

有什么方法可以显示这张照片? 谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用Fetch API在您的网页上获取资源。

您可以显示如下图像:

      fetch('http://localhost:1234/your_api')
      .then(function(response) {
           return response.blob();
      })
      .then(function(myBlob) {
           var objectURL = URL.createObjectURL(myBlob); 
           document.querySelector("#databaseimage").src = objectURL;
      });

在HTML中:

   <img id="databaseimage"/>

您可以在此处了解有关Fetch API的更多信息: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch