android调用上传文件并添加回调参数代码如下
// 构造上传请求
在回调服务器中需要验证签名,文档中描述如下:
PutObjectRequest put = new PutObjectRequest("ykt-update", objectPaht,filePath);
put.setCallbackParam(new HashMap<String, String>() {
{
put("callbackUrl", "http://test.changer.cn/1/dataSync/functions/uploadCallBack");
put("callbackBodyType", "application/json");
put("callbackBody", "{\"bucket\":${bucket}}");
}
});
OSSAsyncTask task = MyApplication.getOss().asyncPutObject(put, new
OSSCompletedCallback<PutObjectRequest, PutObjectResult>() {
@Override
public void onSuccess(PutObjectRequest request, PutObjectResult result) {
}
@Override
public void onFailure(PutObjectRequest request, ClientException clientExcepion,
ServiceException serviceException) {
}
});
验证签名
验证签名的过程即为签名的逆过程,由应用服务器验证,过程如下:
Result = rsa_verify(public_key, md5(url_decode(path) + query_string + ‘\n’ + body), base64_decode(authorization))
那么我想确认这个sigin_str到底怎么拼写,以我的实际情况
获取待签名字符串,方法与签名一致
sign_str = url_decode(path) + query_string + ‘\n’ + body
path等于/1/dataSync/functions/uploadCallBack
query_string没有等于空
body等于bucket=ykt-update
那么sign_str = /1/dataSync/functions/uploadCallBack\nbucket=ykt-update是这样吗?
如果有错误请指出(实际测试按这样的拼写内容签名验证失败)
请不要再给我发文档链接,看了很多遍了,请直接帮忙解决我的问题,多谢!!!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。