一步步教你从Mysql中读取图片并在网页显示

一步步教你从Mysql中读取图片并在网页显示

1.首先图片的src

昨天研究了很久,看了很多博客,发现真的能实现的很少,我也不知道怎么那么多搬运工,看了实在浪费时间,除了有一篇提醒了我,图片的src填Servlet的地址,然后再Servlet中输出二进制数据,那样图片就能显示了。操作起来也十分方便。

2.示例

这个/test就是我们注解的地址

@WebServlet("/test")

我们详细看代码怎么写

3.获取和数据库的连接

这里不赘述,各自方法不同

4. 构造一个方法获得byte[]

返回值是byte[]

public static byte[] read() {

String sql = ("select usercover from person where ....");//根据需求自己写

PreparedStatement statement = null;

ResultSet resultSet = null;

byte[] bytes = null;

}

try {

statement = connection.prepareStatement(sql);

resultSet = statement.executeQuery();

//创建blob接受resultset得到的blob数据

while (resultSet.next()) {

Blob blob = resultSet.getBlob("usercover");

bytes = blob.getBytes(1, (int)blob.length());

}

} catch (SQLException throwables) {

throwables.printStackTrace();

} finally {

JDBCTools.release(connection, statement, resultSet);

}

return bytes;

5.重写doGet方法

resp无法直接write byte[],所以我们创建outputStream对象,使用它的方法数据byte[],也就是我们的byte数组直接给了图片的src,也就给了前端页面,即可显示图片

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

test test = new test();

byte[] b = test.read();

OutputStream outputStream = resp.getOutputStream();

outputStream.write(b);

outputStream.flush();

}

6.成功

样式有点丑哈,还没有调,目前是把上传图片显示图片这样一个后端写完了,前端就轻松了,如果有问题的话欢迎评论区留言。

相关推荐

9位姜子牙扮演者,陈键锋帅气,刘德凯成经典!
湮隳的意思
best365网页版登录官网

湮隳的意思

📅 07-02 👁️ 7350
郎平个人资料简介(身高/生日/年龄)
365bet体育投注网

郎平个人资料简介(身高/生日/年龄)

📅 07-05 👁️ 6502