这段时间,公司准备舍弃七牛云换成腾讯云,所以app要对腾讯云集成图片上传
但出现了一个问题,就是图片怎么都上传不过去,一直走下面的这个失败的方法
@Override
public void onFailed(String error) {
ToastUtils.makeLongText("图片上传失败!请重新上传");
dismissDialog();
return;
}
后来把手机调成了正确的时间(因为后台有时间穿透,所以用了假时间用来测试),就好使了.
后来看了下源码
long current = System.currentTimeMillis() / 1000L;
long expired = current + this.duration;
String keyTime = current + ";" + expired;
String signKey = this.secretKey2SignKey(secretKey, keyTime);
return new BasicQCloudCredentials(secretId, signKey, keyTime);
}
源码中取了本地时间进行了时间验证,所以必须调成正确的时间才可以上传图片
网友评论