七牛获取Token,SDk,上传

来源:互联网 发布:顾客特殊要求矩阵图 编辑:程序博客网 时间:2024/05/06 09:55

七牛SDK问题

http://blog.csdn.net/netdxy/article/details/51518476 七牛常见SDK问题 这篇写的挺好的 



如何在客户端获取token问题(不建议在客户端生成)

通过七牛给我们提供的AK,SK,空间名,生成token

public static final String ACCESSKEY = "ScByPczI1lN-2B************************";//七牛Akpublic static final String SECRETKEY = "wtJgNh4egNaSoy*************************";//七牛Skpublic static final String SCOPE = "****";//七牛空间名

//获取七牛tokenprivate String getToken() {    try {        // 1 构造上传策略        JSONObject _json = new JSONObject();        long _dataline = System.currentTimeMillis() / 1000 + 3600;        _json.put("deadline", _dataline);// 有效时间为一个小时        _json.put("scope", Constants.SCOPE);//七牛空间名        String _encodedPutPolicy = UrlSafeBase64.encodeToString(_json.toString().getBytes());        byte[] _sign = HmacSHA1Encrypt(_encodedPutPolicy, Constants.SECRETKEY);        String _encodedSign = UrlSafeBase64.encodeToString(_sign);        Log.d("xxxx", _encodedSign);        token = Constants.ACCESSKEY + ':' + _encodedSign + ':' + _encodedPutPolicy;    } catch (Exception e) {        e.printStackTrace();    }    return token;}

private static final String MAC_NAME = "HmacSHA1";private static final String ENCODING = "UTF-8";/** * @param encryptText 被签名的字符串 * @param encryptKey  密钥 * @return * @throws Exception */public static byte[] HmacSHA1Encrypt(String encryptText, String encryptKey)        throws Exception {    byte[] data = encryptKey.getBytes(ENCODING);    // 根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称    SecretKey secretKey = new SecretKeySpec(data, MAC_NAME);    // 生成一个指定 Mac 算法 的 Mac 对象    Mac mac = Mac.getInstance(MAC_NAME);    // 用给定密钥初始化 Mac 对象    mac.init(secretKey);    byte[] text = encryptText.getBytes(ENCODING);    // 完成 Mac 操作    return mac.doFinal(text);}
简单的上传


//上传图片(获取当前时间毫秒时间戳===============================)private void sendPhotoPath(final String filePath) {    //参数 图片路径,图片名,token,成功的回调    uploadManager.put(filePath, "aaa", getToken(), new UpCompletionHandler() {        @Override        public void complete(String s, ResponseInfo responseInfo, JSONObject jsonObject) {            Log.d("ReadFragment", "jsObj:" + jsonObject);        }    }, null);}

2 0
原创粉丝点击