java微信头像失效问题,将微信头像上传至七牛云

抓取微信头像保存之后,过一段时间会出现头像失效问题,到现在还是不清楚微信头像地址失效规则,为了避免微信头像失效导致的头像显示问题,最好是微信头像上传到第三方云存储空间,这里用的是七牛云存储。

七牛云提供了一个方法:抓取网络资源到空间
文档地址:https://developer.qiniu.com/kodo/sdk/java

接口代码例子如下:

		String userid = request.getParameter("userid");
        String wxheadurl= request.getParameter("wxheadurl");
        if(StringUtil.isEmpty(userid) || StringUtil.isEmpty(wxheadurl)){
            return "error";
        }

        //构造一个带指定 Region 对象的配置类
        Configuration cfg = new Configuration(Region.region1());//Region.region1()和机房位置有关
        //获取空间管理器
        BucketManager bucketManager = new BucketManager(auth,cfg);
        String bucket = "xxxx";//七牛云定义的bucket name,不是域名
        String key = "headimg/"+DatetimeUtil.formatDate(new Date(),"yyyyMMdd")+"/"+userid+".png";//自定义生成的图片目录和名称
        try {

            // 要求url可公网正常访问BucketManager.fetch(url, bucketName, key);
            // @param url 网络上一个资源文件的URL
            // @param bucketName 空间名称
            // @param key 空间内文件的key[唯一的]
            FetchRet fetchRet = bucketManager.fetch(wxheadurl, bucket, key);

            //System.out.println(fetchRet.key);

            UserInfoModel model = new UserInfoModel();
            model.setUserid(userid);
            model.setWxheadurl("http://xxxxx.com/"+fetchRet.key);//http://xxxxx.com/域名和bucket对应
            dao.updateUserWxheadurl(model);//更新用户头像地址
        } catch (QiniuException e1) {
            e1.printStackTrace();
            //这里可以生成一个错误信息日志,以便数据补回
            return "error";
        }

        return "success";

关于Region.region1()的选择
在这里插入图片描述

这样就能将微信头像同步到七牛云空间了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值