Java 使用io流给前端页面展示图片

     今天接受的任务是从数据库获取的图片地址,使用io流将图片展示出来,我在数据库查的数据中只有该记录的绝对路径,我需要将该图片展示在页面上,但是项目是springboot的项目,在img标签的src不能使用绝对路径,只能请求后台接口将这个绝对路径的图片文件展示出来

前端代码

 

<div > <img id="demo1"     style=" width: 60%;"> </div>

js代码

 

  $('#demo1').attr('src','/device/IoReadImage?imgName='+'d:/saye/QRcode/20191119135741JAaD.png');

java后台代码

@RequestMapping(value = "/device/IoReadImage")
    public String IoReadImage(String imgName,HttpServletRequest request,HttpServletResponse response) throws IOException {
        ServletOutputStream out = null;
        FileInputStream ips = null;
        try {
            //获取图片存放路径
            String imgPath =imgName;
            ips = new FileInputStream(new File(imgPath));
            response.setContentType("multipart/form-data");
            out = response.getOutputStream();
            //读取文件流
            int len = 0;
            byte[] buffer = new byte[1024 * 10];
            while ((len = ips.read(buffer)) != -1){
                out.write(buffer,0,len);
            }
            out.flush();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            out.close();
            ips.close();
        }
        return null;
    }

 

结果显示

好的,对于这个问题,我也可以给你提供一些帮助。 在Java使用三层架构连接数据库修改员工密码后,将响应返回给前端页面,一般可以使用Java Servlet或者Spring MVC等Web框架来实现。 以下是一个使用Java Servlet实现的示例代码: ```java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class UpdatePasswordServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); int empId = Integer.parseInt(request.getParameter("empId")); String newPassword = request.getParameter("newPassword"); try { //连接数据库并修改员工密码 EmployeeDAO employeeDAO = new EmployeeDAO(); employeeDAO.initConnection(); employeeDAO.updatePassword(empId, newPassword); employeeDAO.closeConnection(); //返回响应给前端页面 out.println("<html>"); out.println("<head><title>修改密码</title></head>"); out.println("<body>"); out.println("<h1>修改密码成功!</h1>"); out.println("</body>"); out.println("</html>"); } catch (Exception e) { out.println("<html>"); out.println("<head><title>修改密码</title></head>"); out.println("<body>"); out.println("<h1>修改密码失败!</h1>"); out.println("<p>" + e.getMessage() + "</p>"); out.println("</body>"); out.println("</html>"); } } } ``` 在这个示例中,我们首先从request对象中获取员工ID和新密码,然后使用EmployeeDAO类连接数据库并修改员工密码。最后,我们使用response对象将响应返回给前端页面。如果修改密码成功,将显示“修改密码成功!”;如果修改密码失败,将显示“修改密码失败!”和异常信息。 希望这个示例能够帮助你理解如何在Java使用三层架构连接数据库修改员工密码并将响应返回给前端页面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值