【发布时间】:2016-06-02 10:16:03
【问题描述】:
我正在尝试使用浏览器画布来处理我在云端托管的图像。我正在尝试设置 cloudfront 以使浏览器缓存具有缓存控制 max-age 的图像,并且仍然允许画布编辑这些图像。
这是我可以编辑的图像:
https://d2t4fc8ff77neh.cloudfront.net/cardSrcImage/1ac01l796_16dbmg07t_books2.jpg
这是我不能的(来自“https://d2t4fc8ff77neh.cloudfront.net”的图像已被跨域资源共享策略阻止加载:请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'https://localhost' 因此不允许访问。):
https://d2t4fc8ff77neh.cloudfront.net/cardSrcImage/1ac01o3l0_16dbmg07t_books2.jpg
唯一不同的是缓存控制标头。怎么了?谢谢。
我正在使用 node.js knox 库进行上传。示例标题:
var headers = {
'Content-Length': options.data.length,
'Vary': 'Accept-Encoding',
// 'Cache-Control': 'public, max-age=31536000',
'x-amz-acl': 'public-read',
'Content-Type': options.type
}
【问题讨论】:
-
要解决“...因此不允许访问”错误,您可以尝试将
'Access-Control-Allow-Origin': '*'添加到您的headers对象;这允许每个人都使用CORS,但至少可以排除这个问题。 -
@Castaglia 我补充说,但仍然有同样的问题。我认为 x-amz-acl 公开阅读是亚马逊的等价物?
标签: javascript amazon-web-services http-headers amazon-cloudfront cache-control