将文件上传到亚马逊网络服务器

时间:2016-06-22 00:24:26

标签: amazon-web-services amazon-s3

我正在尝试使用亚马逊网络服务上传文件,但我收到此错误,如下所示,因为文件没有上传到服务器:

    {
    "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响应的原因是什么?提前致谢

3 个答案:

答案 0 :(得分:1)

您需要提供更多详细信息。你在使用哪个客户?从它的外观来看,有一个明确拒绝上传的政策。

答案 1 :(得分:0)

看起来您的用户对该特定S3存储桶没有适当的权限。使用AWS控制台我们的IAM分配适当的权限,包括写入。

更重要的是会立即使密钥/密钥对无效,并重命名该存储桶。 从不在开放网站上分享我们密码的实际密钥。在您阅读本文时,有人可能已经在使用您的凭据。

答案 2 :(得分:0)

阅读错误:Invalid according to Policy: Policy Condition failed: [\"starts-with\", \"$filename\", \"\"]

您的政策文件对您未满足的上传施加了限制,而S3基本上拒绝上传,因为您告诉了它。

没有理由在签名的政策文件中包含此条件。根据文档,这意味着您期望一个名为filename的表单字段不能为空。但是没有这样的形式领域。从您的政策中删除此内容,上传应该有效。