我正在尝试使用亚马逊网络服务上传文件,但我收到此错误,如下所示,因为文件没有上传到服务器:
{
"data": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AccessDenied</Code><Message>Invalid according to Policy: Policy Condition failed: [\"starts-with\", \"$filename\", \"\"]</Message><RequestId>7A20103396D365B2</RequestId><HostId>xxxxxxxxxxxxxxxxxxxxx</HostId></Error>",
"status": 403,
"config": {
"method": "POST",
"transformRequest": [null],
"transformResponse": [null],
"url": "https://giblib-verification.s3.amazonaws.com/",
"data": {
"key": "@usc.edu/1466552912155.jpg",
"AWSAccessKeyId": "xxxxxxxxxxxxxxxxx",
"acl": "private",
"policy": "xxxxxxxxxxxxxxxxxxxxxxx",
"signature": "xxxxxxxxxxxxxxxxxxxx",
"Content-Type": "image/jpeg",
"file": "file:///storage/emulated/0/Android/data/com.ionicframework.giblibion719511/cache/1466552912155.jpg"
},
"_isDigested": true,
"_chunkSize": null,
"headers": {
"Accept": "application/json, text/plain, */*"
},
"_deferred": {
"promise": {}
}
},
"statusText": "Forbidden"
}
任何人都可以告诉我禁止403响应的原因是什么?提前致谢
答案 0 :(得分:1)
您需要提供更多详细信息。你在使用哪个客户?从它的外观来看,有一个明确拒绝上传的政策。
答案 1 :(得分:0)
看起来您的用户对该特定S3存储桶没有适当的权限。使用AWS控制台我们的IAM分配适当的权限,包括写入。
更重要的是会立即使密钥/密钥对无效,并重命名该存储桶。 从不在开放网站上分享我们密码的实际密钥。在您阅读本文时,有人可能已经在使用您的凭据。
答案 2 :(得分:0)
阅读错误:Invalid according to Policy: Policy Condition failed: [\"starts-with\", \"$filename\", \"\"]
。
您的政策文件对您未满足的上传施加了限制,而S3基本上拒绝上传,因为您告诉了它。
没有理由在签名的政策文件中包含此条件。根据文档,这意味着您期望一个名为filename
的表单字段不能为空。但是没有这样的形式领域。从您的政策中删除此内容,上传应该有效。