接这个问题。
我通过一个rest接口向我的同学获取policy和signature。
他是这样写的:
String form_api_secret = "youguess=";
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("expiration", new Date().getTime() + 600);
map.put("x-gmkerl-type", "fix_both");
map.put("x-gmkerl-value", "180x180");
JSONArray json = JSONArray.fromObject(map);
String policy = new sun.misc.BASE64Encoder().encode(json.toString().getBytes());
String signature = Md5Util.md5(policy.concat(form_api_secret));
Map<String,String> hash=new HashMap<String,String>();
hash.put("policy",policy);
hash.put("signature",signature);
JSONArray j=JSONArray.fromObject(hash);
out.println("{\"status\":\""+Constant.RESULT_SUCCESS+"\",\"result\":"+j+"}");
然后我上传的时候报了503,抓包得知内容是not accept, signature error。
查询官方文档得知,我的signature错了。但是我和同学反复检查过,form_api_secret没有问题。
我的提交地址是:http://v0.api.upyun.com/bucketName
可能是少传了一个
save-key
参数