【问题标题】:How to read Blob( image) data from mysql database and display on browser using JSP [duplicate]如何从mysql数据库中读取Blob(图像)数据并使用JSP在浏览器上显示[重复]
【发布时间】:2015-07-17 13:43:51
【问题描述】:

我在数据库中有一个表。在该表中,一个字段的类型为 BLOB,其中包含图像。我想从数据库中读取相同的图像,并希望使用标记在 jsp 页面上显示图像。

//在jsp中使用代码是

              <% 
                 Blob image;
                 image=blogd.getImage();
                 out.println(image);
                 %>
                <img src="<%=image.getBinaryStream() %>>" width="300px"  height="300px" />



 //  out.println(image);
  output of this particular line is
 org.hibernate.lob.SerializableBlob@c7014c
  • blogd 是 Persitance java 类的对象。

【问题讨论】:

  • 首先,不要在JSP中使用java代码。最好在服务器端使用 JSTL 和编写业务逻辑。
  • 从数据库获取图像数据,从响应对象创建输出流,设置图像类型并将内容写入输出流对象。它将在 JSP 页面中创建图像。
  • fdegrelle.over-blog.com/article-992927.html。希望这会有所帮助

标签: java mysql jsp spring-mvc servlets


【解决方案1】:

试试这个

try {  
    response.setContentType("image/jpg");
    OutputStream out = response.getOutputStream();
    out.write(image.getBinaryStream());
    out.flush(); 
    out.close();
} catch (Exception e) {
    e.printStackTrace();
} finally {
    // close the connexion;
}  

【讨论】:

  • 我必须添加这个 标签。 >" width="300px" height="300px" />
  • 然后你必须在项目目录的某处或合适的位置创建临时图像文件,并在&lt;img&gt;标签中给出该目录的路径,包括图像文件名。
  • @RequestMapping("/userblog.do") public String getblog(HttpServletRequest req)throws ServletException{ List blogdata=service.getAllBlog(); if(blogdata!=null){ Iterator it=blogdata.iterator(); while(it.hasNext()){ 对象 obj=it.next(); WriteBlogData bdata=(WriteBlogData) obj;斑点 img=bdata.getImage(); // 从这里如何存储在一个文件夹中 } } }
  • U hv Blob 数据。你可以获取字节流调用blob.getBinaryStream();。然后创建一个OutputStream 将内容写入其中。关注this 教程。
猜你喜欢
  • 2012-07-16
  • 2017-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-15
  • 2019-04-19
相关资源
最近更新 更多