我用javascript做上传到七牛的功能,如何用java servlet来生成七牛的uptoken?
大家讲道理
大家讲道理 2017-04-11 08:57:37
[JavaScript讨论组]

我用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)
黄舟

使用官方的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;
    }
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号