2016-12-13 49 views
1

我正在使用asp mvc 4並嘗試基於動態創建的文件下載文件。CORS否'Access-Control-Allow-Origin'

要做到這一點,我用下面的劍道UI下載一個PDF調用時:

var generatePDF = function() { 
     kendo.drawing.drawDOM($("#property"), { paperSize: "A4", forcePageBreak: ".page-break" }) 
        .then(function (group) { kendo.drawing.pdf.saveAs(group, "Converted PDF.pdf"); }); 
    } 

沒有正在下載圖像。控制檯提供消息

XMLHttpRequest無法加載https://myStorage.blob.core.windows.net/mySetPath/Large/lounge.JPG。請求的資源上沒有「Access-Control-Allow-Origin」標題。因此不允許訪問原產地'http://localhost:49878'。

我做了一個測試,使用placekitten和下載的圖像沒有上述錯誤。

這使我相信它的簡單存儲容器上的權限問題,所以我讀this並應用了以下內容:

允許來源:127.0.0.1 允許的動詞:GET 允許的頭:X-MS- *(我也試過) 裸露頭:X-MS-(我也試過*) 最大年齡(秒):10

但我仍然得到同樣的錯誤。我也嘗試在Azure上部署我的網站,但錯誤未得到解決。

我在做什麼錯?

+0

這是一個CORS問題 - 查找CORS - 這個問題只能固定在** **服務器上 –

+0

用''*所允許的起源值嘗試。你已經將'127.0.0.1'設置爲允許的原點,並且你的應用程序通過'localhost'訪問,所以這裏有一個不匹配的地方。 –

回答

0

您可以在Azure門戶中啓用CORS for Blob服務。

  1. 轉到Azure portal
  2. 導航到您的存儲帳戶。
  3. 單擊BLOB SERVICE菜單中的CORS。

enter image description here

  • 在空允許起源文本框中輸入各URL。
  • 點擊SAVE
  • ​​

    +0

    我已經做出了你建議的修改,但我仍然得到以下信息:CORS策略阻止了從原始'https:// myImageBlobContainer'訪問'myImage'處的圖像:No'Access-Control-Allow-Origin'頭出現在請求的資源上。原因'http:// localhost:49878'因此不被允許訪問。我錯過了什麼? – tony09uk

    +0

    您是否嘗試在「允許的來源」中輸入星號「*」來指定所有來源域都被接受? –