使用NodeJS将图像显示/返回为HTML <img>元素

时间:2019-07-10 22:41:12

标签: node.js firebase-storage

下面是JSP代码,它带有参数'imageName'并在mySQL中执行查找,因为它是DB表中的Blob(用于保存图像);它将图像从mySQL下载到位于不同html页面的元素中。

从使用以下编码的初始jsp页面中调用它:

<img='validate.jsp?imageName=myBlob...' />

然后,“验证jsp”页面将执行以下操作:

  // Create a connection by using getConnection() method
  connection = DriverManager.getConnection(connectionURL, "root", "password");
  //
  String queryStr = " SELECT image FROM " +
                      DatabaseNames.IMAGE_TABLE +
                    " WHERE title = ? ";

  stmt = connection.prepareStatement(queryStr);
  //
  stmt.setString(1, imageName);
  //
  rs = stmt.executeQuery();

  if(rs.next()) {

    byte[] bytearray = new byte[1048576];
    int size = 0;
    sImage = rs.getBinaryStream(1);
    response.reset();
    response.setContentType("image/jpeg");

    while((size = sImage.read(bytearray)) != -1) {

        response.getOutputStream().write(bytearray, 0, size);

    }

  }

} catch (Exception ex) {

  out.println("error:" + ex);

} finally {

  out.clear();
  out = pageContext.pushBody();

  try {

    // close all the connections.
    rs.close();
    stmt.close();
    connection.close();

  } catch (SQLException se) {

    out.println("close error:" + se);

  }

}

以上工作正常。它将用下载的博客/图片替换scr。

如果使用Express将其移植到NodeJS上,而我不再使用mySQL作为后端,我现在想做的事情。相反,我使用Firebase Storage作为后端。

我尝试了许多方法来尝试达到相同的结果,但无济于事!

最终html页面上的图像从不显示所需的图像!?

有没有人尝试成功完成此任务...如果可以,请您分享您的示例或想法,以了解如何使其工作和/或如何使其工作?

0 个答案:

没有答案