为了账号安全,请及时绑定邮箱和手机立即绑定

我用javascript做上传到七牛的功能,如何用java servlet来生成七牛的

我用javascript做上传到七牛的功能,如何用java servlet来生成七牛的

慕码人2483693 2019-03-13 14:15:36
我用javascript做上传到七牛的功能,需要生成uptoken,于是下载了java SDK并用ajax请求SDK中里的getUpToken(Auth auth, String bucketname)生成uptoken并返回给javascript但是,始终无法完成上传操作,qiniu 的JS SDK中Qiniu.uploader里的init中绑定的任何事件都没有被触发,不知道是怎么回事?是不是我生成uptoken的步骤不对,下面是程序清单:        //设置好账号的ACCESS_KEY和SECRET_KEY          String ACCESS_KEY =  params.getString("Access_Key");          String SECRET_KEY =  params.getString("Secret_Key");          //要上传的空间          String bucketname = params.getString("Bucket_Name");//          //密钥配置          Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);         ret.put("uptoken", getUpToken(auth,bucketname));        return ret;    }         public static String getUpToken(Auth auth, String bucketname){          return auth.uploadToken(bucketname);      }不知道以上步骤是否正确,我看文档里注释说java实现的是简单上传,只需要bucketname,是否是因为这个原因造成生成的uptoken不正确的呢?我看js sdk是说除了“ACCESS_KEY”、“SECRET_KEY”、“Bucket_Name”还需要文件名、过期时间等参数,不知道是不是这个原因?请问,我应该如何在java中正确的生成uptoken?
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

使用官方的qiniu-sdk-xxx.jar
传送门

public static String getWebUptoken() {

        Config.ACCESS_KEY = PropertiesUtil.getString("qiniu.access.key");

        Config.SECRET_KEY = PropertiesUtil.getString("qiniu.secret.key");

        Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY);

        // 请确保该bucket已经存在

        String bucketName = PropertiesUtil.getString("qiniu.bucket");

        PutPolicy putPolicy = new PutPolicy(bucketName);

        Calendar cal = Calendar.getInstance();

        cal.add(Calendar.HOUR_OF_DAY, 1);

        putPolicy.deadline = cal.getTimeInMillis() / 1000;

        String uptoken = null;

        try {

            uptoken = putPolicy.token(mac);

        } catch (AuthException e) {

            e.printStackTrace();

        } catch (JSONException e) {

            e.printStackTrace();

        }

        return uptoken;

    }


查看完整回答
反对 回复 2019-04-17
  • 1 回答
  • 0 关注
  • 392 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号