开发者社区> 问答> 正文

OSS,上传文件 SignatureDoesNotMatch

hi,这是我的报错信息,使用的是androidSdk,签名方式是自签名的方式,检查了很多遍不知道问题出在哪里。
有几个疑问
1.创建PutObjectRequest 的时候ObjectKey是必须要带上文件后缀名吗 类似"xxx/xxx/xx.amr"
2.如果服务器上没有xxx/xxx/文件夹 那么Objectkey写"xxx/xxx/xx.amr"会有问题吗?

<?xml version="1.0" encoding="UTF-8"?>

SignatureDoesNotMatch
The request signature we calculated does not match the signature you provided. Check your key and signing method.
5975A2AFF43DB7AD8D096491
MYBUCKET.oss-cn-beijing.aliyuncs.com
h3mwTglyPCtnU8iK
z4sE+YWLhftqesTrCnfyFGn1dNk=
PUT

audio/amr
Mon, 24 Jul 2017 07:33:00 GMT
/lepu-secfile-bj/test.amr
50 55 54 0A 0A 61 75 64 69 6F 2F 61 6D 72 0A 4D 6F 6E 2C 20 32 34 20 4A 75 6C 20 32 30 31 37 20 30 37 3A 33 33 3A 30 30 20 47 4D 54 0A 2F 6C 65 70 75 2D 73 65 63 66 69 6C 65 2D 62 6A 2F 74 65 73 74 2E 61 6D 72


OSSCustomSignerCredentialProvider ossCustomSignerCredentialProvider = new OSSCustomSignerCredentialProvider() {

                        @Override
                        public String signContent(String s) {
                            return "OSS h3mwTglyPCtnU8iK:z4sE+YWLhftqesTrCnfyFGn1dNk=";
                        }
                    };

                    OSS oss = new OSSClient(LocationServiceClient.this, endpoint, ossCustomSignerCredentialProvider );

PutObjectRequest put = new PutObjectRequest("", "test.amr", files[0].getAbsolutePath()+"");

展开
收起
ppphoenix 2017-07-24 15:42:41 10081 0
1 条回答
写回答
取消 提交回答
  • 阿里云容器服务管控调度系统开发

    1.创建PutObjectRequest 的时候ObjectKey是必须要带上文件后缀名吗 类似"xxx/xxx/xx.amr"

    这个是必须的
    2.如果服务器上没有xxx/xxx/文件夹 那么Objectkey写"xxx/xxx/xx.amr"会有问题吗?
    OSS 是K-V存储,没有物理文件夹的概念。这个不会有任何问题的。

    2019-07-17 21:25:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载