为什么我得到“;访问控制允许起源”;当已经设置了头时,通过AJAX下载文件
Why do I get "Access-Control-Allow-Origin" when downloading a file via AJAX when the header is already set?
我有一个通过Rackspace Cloud Files托管在CDN上的映像。我将"Access Control Allow Origin"标题设置为"*":
curl -I http://ddfe38685b82abf2025a-3d3d68979b9884dbb99ee38fe4e87955.r49.cf1.rackcdn.com/images/ads/6/a6c3d7ec7ca8d8a41a4a065e27e317e2.jpg
HTTP/1.1 200 OK
Content-Length: 1304399
Accept-Ranges: bytes
Last-Modified: Tue, 03 Mar 2015 02:10:06 GMT
ETag: c8767efedb8057eaa637a2caeabed834
X-Timestamp: 1425348605.85405
Access-Control-Allow-Origin: *
Content-Type: image/jpeg
X-Trans-Id: tx5115bede82244690acd6a-0054f51e84dfw1
Cache-Control: public, max-age=259200
Expires: Fri, 06 Mar 2015 02:37:57 GMT
Date: Tue, 03 Mar 2015 02:37:57 GMT
Connection: keep-alive
然而,当我尝试通过AJAX下载这个文件时,我得到了No 'Access-Control-Allow-Origin' header is present on the requested resource
:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://ddfe38685b82abf2025a-3d3d68979b9884dbb99ee38fe4e87955.r49.cf1.rackcdn.com/images/ads/6/a6c3d7ec7ca8d8a41a4a065e27e317e2.jpg', true);
xhr.send();
有什么想法吗?当"访问控制允许来源"明确设置时,我为什么会出现这个错误?
嗯,重新上传图像并重新设置标题似乎已经解决了问题。
作为一个有用的附带说明,使用Fog我上传图像如下:
directory.files.create({
:key => image_file_path,
:body => File.read(image_temp_path),
:public => true,
'Access-Control-Allow-Origin' => '*'
})
相关文章:
- 通过javascript下载文件时设置文件名
- 如何在定义js文件后为外部javascript文件设置变量
- 要求js缓存设置urlArgs半身像的设置文件
- 如何为 After Effects 设置文件夹以监视 JSON/文本文件
- 如何设置文件堆栈安全性上传图像
- 从 javascript 设置文件
- 使用 javascript 设置文件输入的值
- 如何在单击'时设置文件/图像的名称;将图像另存为'
- 以编程方式设置文件输入的值
- 为Google Analytics设置文件下载跟踪,新的通用分析跟踪
- 以异步方式向前端web应用程序添加设置文件
- 导出前如何设置文件格式为excel
- 读取一个设置文件并在node.js中计算
- 运行流星如何选择设置文件
- 如何设置文件上传字段为必填项
- 如何使用HTML5FileAPI设置文件的实际文件名
- 设置文件上传字段值- Javascript/jQuery
- 本地Chrome扩展设置文件的输入类型="file"
- 如何为具有多个属性的输入类型文件设置文件限制
- 在我的网站上设置文件上传按钮的样式(输入类型=“文件”),它似乎运行良好,但在 iOS 上会转换