从亚马逊的s3下载带有角度$ http的图像返回错误请求(400)

时间:2016-03-02 16:52:05

标签: angularjs amazon-s3 https angular-http

我正在写一个angularjs 1.5.0应用程序。

在此应用程序中,我需要使用$http将图像数据提取到blob。

我在我的角度js控制器中使用了以下代码:

$http({
            url : 'https://myalcoholist-tuxin-com.s3.amazonaws.com/my-images/thumb_0000000001.jpg',
            method : 'GET',
            params : {},
            headers : {
                'Content-Type' : undefined,
            },
            responseType: "blob"
        }).success(function(data, status, headers, config) {
        }).error(function(data, status, headers, config) {

        });

我的网站位于https://myalcoholist.com

我使用Bucket Explorer使用以下参数在我的s3存储桶中启用了cors:

AllowedOrigin https://myalcoholist.com
AllowedHeader *
AllowedMethod GET

在设置cors之前,我会收到预检请求错误。启用后,我得到了

GET https://myalcoholist-tuxin-com.s3.amazonaws.com/my-images/thumb_0000000001.jpg 400 (Bad Request)

飞行前请求,OPTIONS方法被发送并成功。

Request URL:https://myalcoholist-tuxin-com.s3.amazonaws.com/my-images/thumb_0000000001.jpg
Request Method:OPTIONS
Status Code:200 OK
Remote Address:54.231.114.146:443

然后GET请求失败。

我试图在https://myalcoholist.com上放一张图片然后试图用$ http请求获取它,我没有错误。似乎只是试图从亚马逊的s3下载导致问题,我不明白为什么!

ACL设置为read。并在浏览器中浏览该文件。

非常感谢有关该问题的任何信息。

0 个答案:

没有答案