CORS No' Access-Control-Allow-Origin'

时间:2016-12-13 01:02:58

标签: javascript asp.net azure kendo-ui cors

我正在使用asp mvc 4并尝试根据动态创建的文件下载文件。

要做到这一点,我在下面使用Kendo 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。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://localhost:49878'因此不允许访问。

我使用placekitten进行了测试,下载的图片没有出现上述错误。

这让我相信它只是存储容器上的权限问题所以我读了this并应用了以下内容:

允许来源:127.0.0.1 允许的动词:GET 允许的标题:x-ms- *(我也试过) 暴露的标题:x-ms - (我也试过*) 最大年龄(秒):10

但我仍然得到同样的错误。我还尝试在Azure上部署我的网站,但错误未得到解决。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您可以在Azure门户中为Blob服务启用CORS。

  1. 转到Azure portal
  2. 导航至您的存储帐户。
  3. 点击 BLOB SERVICE 菜单中的CORS。
  4. enter image description here

    1. 在空允许的来源文本框中输入每个网址。
    2. 点击保存
    3. enter image description here

答案 1 :(得分:0)

请尝试以下扩展程序:

在Chrome浏览器中添加 CORS chrome extension

Add CORS extension into your browser

CORS Extension

添加此内容后,我的问题已解决。