官方说法获取凭证说明:
http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html
api获取凭证的部分代码:
String encodedSign = EncodeUtils.urlsafeEncodeString(mac.doFinal(data));
return this.accessKey + ":" + encodedSign;
我不想直接在服务器端生成凭证再返回给客户端,所以我想通过服务器端生成 mac
( Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY);) 后通过jObject.put("msg", mac)返回给客户端,通过下面代码生成一个完整的图片地址
Mac mac = (Mac) jsonObject.get("msg");
String baseUrl = URLUtils.makeBaseUrl(空间名, 文件名);
GetPolicy getPolicy = new GetPolicy();
String 下载地址= getPolicy.makeRequest(baseUrl, mac);
在servlet的服务器中 只要添加了
Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY); 就报错,无论是主线程还是子线程都一样好像Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY);不能放在线程执行一样
Mac类的构造函数就只有ak、sk的赋值,并没有其他的操作,能否提供下报错的具体信息,这边好做出判断。