我有一个 Angular 1.x 应用程序,它使用流行的 ng-file-upload 向 Rackspace OpenCloud 库发出请求,以将文件上传到 CDN。
简而言之,下面的脚本 - 上传文件,将其发送到应用程序的后端,然后向 Rackspace 容器发送请求并返回公共 URL。这一切在 Postman 中运行良好,没有问题 - 当我在我的 Angular 应用程序中实现它时,我遇到了一些 CORS 问题(请参阅下面的上传代码) - 前端 Angular 向我们的后端应用程序发送请求,后端应用程序又向 OpenCloud 发送请求到将文件上传到 Rackspace CDN 并返回公共 URL。
// 前端 Angular 应用
Upload.upload({
url : 'https://asite.com/users/request',
data : {
__token : $localStorage.token.value,
fileToUpload : file
}
// additional code below not shown for clarity
在控制台日志中,我看到以下内容:(出于安全目的,我更改了下面的实际网址):-
无法加载https://xxxxxxxxxxxxxx-2426685a61633353dfd5b28cdbf2b449.ssl.cf3.rackcdn.com/5a7d6de352a949.48129019.pdf:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://domain.local ”。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
如何防止出现此 CORS 错误,以便从 CDN 加载文件?