我使用前台js上传文件,后台生成上传签名
js使用
var cos = new COS({
// 必选参数
getAuthorization: function (options, callback) {
$.get('http://example.com/server/auth.php', {
method: options.Method,
pathname: '/' + options.Key,
}, function (Authorization) {
callback({
Authorization: Authorization
// XCosSecurityToken: data.XCosSecurityToken, // 如果是临时密钥计算出来的签名,需要提供 XCosSecurityToken
});
});
}
});
后台使用
COSCredentials cred = new BasicCOSCredentials("AKIDfEpGanLleOythMeX9osp6EOSRGve6xOh",
"Roury11qTzJUjX8OTOBrVEm1MjSLFzY1");
COSSigner signer = new COSSigner();
// 设置过期时间为1个小时
Date expiredTime = new Date(System.currentTimeMillis() + 3600L * 1000L);
// 要签名的 key, 生成的签名只能用于对应此 key 的上传
String key = "/111";
String sign = signer.buildAuthorizationStr(HttpMethodName.PUT, key, cred, expiredTime);
结果报错403 (Forbidden)
但如果js使用
var cos = new COS({
SecretId: 'AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
SecretKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
});
这样的是可以的
然后我如果直接从后台上传文件也是可以的
请问这个咋解决呢
相似问题