因此,不允许访问AcceSSControlAllowOrigin CORS Blob原点

时间:2018-09-20 09:08:16

标签: angular cors blob

无法加载http://192.168.1.120:8080//31393813//Fullas.mp4:所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访问来源“ http://192.168.1.138:5678”。

我想从URL http://192.168.1.120:8080//31393813//Fullas.mp4在Angular App中创建Blob,但在控制台中出现此错误。 在192.168.1.120:8080中,我有控制台应用程序服务器。 在http://192.168.1.138:5678中,我有Angular应用。

但是当我在http://192.168.1.120:8080//31393813//Fullas.mp4计算机浏览器的网址中粘贴http://192.168.1.138:5678时,我就下载了该视频。

什么阻止了我的请求?这是路由器吗?我有一个cisco路由器,但是由于我在teamviever工作,而且我不知道路由器的用户名和密码,所以我不能去面板管理员。

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.open("GET", $rootScope.testFileURL, true);
xhr.responseType = "blob";
xhr.onload = function (e) {
    if (this.status == 200) {
        var myBlob = this.response;

        // MAKING FILE OBJECT FROM BLOB

        var regpatt = new RegExp("/.*\/(.*).mp4", "gi");
        var regname = regpatt.exec(this.responseURL);
        regname = regname[1].replace('-', ' ');

        var myFile = new File([myBlob], regname, {
            lastModified: new Date(0),
            type: "video/mp4"
        });

        // SENDING FILE OBJECT TO SERVER
        uploadVideo.uploadFile(myFile);
    }
};

1 个答案:

答案 0 :(得分:0)

请求被Google Chrome浏览器阻止。

您需要在服务器端的响应请求中添加 Access-Control-Allow-Origin标头。

如果(由于某种原因)无法修改响应头,则可以出于开发目的创建小型nodeJS代理: