我正在写一个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。并在浏览器中浏览该文件。
非常感谢有关该问题的任何信息。