我有一个角度应用程序,它使用谷歌驱动器选择器允许用户选择要下载的文件。在谷歌开发者证书区域,我有javascript起源和引用设置使用localhost:3000所以选择器打开就好了。但是,从那时起,我似乎无法获得所选文件。这是尝试下载文件的角度代码。
$scope.$watchCollection('googleFiles', function (newGoogleFiles) {
if (newGoogleFiles.length > 0) {
$scope.filename = newGoogleFiles[newGoogleFiles.length - 1].name;
$scope.fileUrl = newGoogleFiles[newGoogleFiles.length - 1].url;
var deferred = $q.defer();
$http.get($scope.fileUrl, { responseType: 'arraybuffer'})
.success(function (data) {
console.log(data);
deferred.resolve(data);
});
return deferred.promise;
}
});
而不是获取我得到的文件 - XMLHttpRequest无法加载https://www.google.com/a/##############/edit?usp%3Ddrive_web<mpl=docs。 No&#39; Access-Control-Allow-Origin&#39;标头出现在请求的资源上。起源&#39; null&#39;因此不允许访问。
我猜我需要在文件的$ http.get请求中设置一些内容,但我不知道是什么。任何人都有任何想法?感谢。
答案 0 :(得分:0)
您正在处理的是“CORS”(跨源资源共享)。
'Access-Control-Allow-Origin'标头必须在服务器上设置。您可以登录谷歌应用程序设置并告诉它可以预期的“起源”(例如:localhost,www.yourwebsite.com)。