头像获取

Servlet通过文件获取图片头像

public class Head_Portrait {
    File files;
    BufferedImage image;
    public Head_Portrait(String file){
        try {
            this.files=new File(file);
            //读取File中的文件
            image=(BufferedImage) ImageIO.read(files);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public void write(OutputStream sos) throws IOException
    {
        //将本地文件发到前端
        ImageIO.write(this.image, "png", sos);
        sos.close();
    }
}

获取头像

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html;charset=utf-8");
        String realPath = req.getServletContext().getRealPath("/WEB-INF/upload");
        HashMap<String,String> map=new HashMap<>(16);
        ArrayList<String> list=new ArrayList<>(16);
        SelectFile.GetFile(new File(realPath),map);
        Set<String> strings = map.keySet();
        for(String string:strings){
            list.add(string);
        }
        String names=list.get(1);
        String Filename =names.split("_")[1];//截取uuid后的源文件名
        //过散列存储算法查找的源文件地址
        String storage = UUIDFile.storage(Filename, realPath);
        String Path=storage+"\\"+names;
        Head_Portrait head_portrait=new Head_Portrait(Path);
        head_portrait.write(resp.getOutputStream());
    }

前端获取

<body>
<img src="/FileWebJava_war_exploded/Head">
</body>
### 若依框架中用户头像获取功能的实现 在若依框架中,用户的头像获取功能可以通过前端和后端协同工作来完成。以下是详细的说明: #### 1. 数据库中的头像字段 在数据库中,通常会在 `sys_user` 表中有一个字段用于存储用户的头像路径。这个字段可能被命名为 `avatar` 或类似的名称[^1]。 #### 2. 后端返回用户信息 当用户登录成功后,后端会通过接口 `/auth/getInfo` 返回当前登录用户的信息,其中包括用户名、角色以及其他个人信息(如头像地址)。这些数据会被封装到响应体中并传递给前端[^2]。 #### 3. 前端接收并展示头像 前端接收到后端传来的用户信息后,可以将其存入 Vuex 的状态管理器中以便全局访问。例如: ```javascript const username = this.$store.state.user.name; const avatarUrl = this.$store.state.user.avatar; ``` 如果需要显示头像,则可以直接绑定到 `<img>` 标签的 `src` 属性上: ```html <img :src="avatarUrl" alt="User Avatar"> ``` #### 4. 头像上传后的处理逻辑 当用户上传新头像时,前端会调用相应的 API 接口将图片发送至服务器。服务器会保存文件并将新的 URL 地址写回到数据库对应的记录里。此时需要注意的是,默认情况下,文件可能会存储在本地磁盘上的指定目录下(如 `D:/ruoyi/uploadPath/`),但如果集成了第三方云服务(比如七牛云),则实际存储位置将是云端,并且返回的 URL 将指向远程资源[^3]。 对于这种情况下的头像获取方式并没有改变——仍然是从前端缓存或者重新请求最新的用户资料获得最新版的头像链接即可正常使用。 #### 5. 集成外部存储解决方案的影响 如果有引入类似七牛这样的对象存储方案作为附件托管平台的话,那么最终呈现出来的 avater 字段值应当是指向该服务商提供的公开可访问 HTTP(s) 路径而非原始相对路径形式的数据结构了。 ```javascript // 示例代码片段:假设已存在一个方法 fetchUserInfo() 取得当前使用者详情 async function loadAvatar(){ let userInfo = await fetchUserInfo(); document.getElementById('user-avatar').setAttribute('src', userInfo.avatar); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值