无法加载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);
}
};
答案 0 :(得分:0)
请求被Google Chrome浏览器阻止。
您需要在服务器端的响应请求中添加 Access-Control-Allow-Origin
标头。
如果(由于某种原因)无法修改响应头,则可以出于开发目的创建小型nodeJS代理: