2015-03-03 88 views
0

我有一張通過Rackspace雲文件託管在CDN上的圖像。我有「訪問控制允許來源」標題設置爲「*」:爲什麼在頭文件已經設置時通過AJAX下載文件時會得到「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(); 

任何想知道爲什麼當「Access-Control-Allow-Origin」明確設置時出現此錯誤?

+0

你看到的頭,當你在開發工具的網絡標籤查看響應頭? – Barmar 2015-03-03 02:48:58

+0

當然不要!那很奇怪。我想知道爲什麼?捲曲顯示它存在。我有另一個測試在實際的Apache虛擬主機上進行了另一次測試,並且當我對下面的URL發出請求時,頭文件存在:http://app.endpipe.com/logo.png。可能Rackspace有什麼問題? – 2015-03-03 02:53:35

+0

服務器可能正在檢查'X-Requested-With:xmlhttprequest'頭。 – Barmar 2015-03-03 03:04:18

回答

0

好吧,似乎重新上傳圖像並再次設置標題可能已經解決了問題。

而作爲一個有益的補充說明,使用霧我上傳圖片喜歡如下:

directory.files.create({ 
    :key => image_file_path, 
    :body => File.read(image_temp_path), 
    :public => true, 
    'Access-Control-Allow-Origin' => '*' 
}) 
相關問題