在jsp上显示存在磁盘上的图片

本文介绍了一种从磁盘加载用户头像的方法。在Java的Controller层使用@RequestMapping注解处理请求,根据用户会话获取头像路径,并将图片数据发送到客户端。如果用户没有设置头像,则使用默认图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、controller 中java代码
   @RequestMapping(value = "/showHeadPic")
    public void findPicFromDisk(HttpServletRequest request,HttpServletResponse response ){
        String url=null;
        User user = (User)request.getSession().getAttribute("user");
        String pic = user.getHeadPic();
        if (pic == null){
           //若未设置图片,则使用默认 user.setHeadPic("/market/images/tu1.PNG");
            System.out.println("============"+pic);
        }else{

        //new FileUtil().getFileUrl()是从配置文件中获取磁盘目录
            url = new FileUtil().getFileUrl()
            +user.getUserid()+"\\"
            + user.getHeadPic();


            System.out.println("============"+url);
           //打印结果: F:\IdeaProjects\UserFile\images\10\backpack-2.png
        }
        try {
            //图片读取路径
            FileInputStream in=new FileInputStream(url);
            int i=in.available();
            byte[]data=new byte[i];
            in.read(data);
            in.close();

            //写图片
            OutputStream outputStream=new BufferedOutputStream(response.getOutputStream());
            outputStream.write(data);
            outputStream.flush();
            outputStream.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


    }
2、jsp文件中

showHeadPic是上面的values值。

<img  src="showHeadPic" alt="headimg">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值