javascript - 带有凭据的 Angular 文件上传 ( CORS ) 不起作用

标签 javascript angularjs angular-file-upload

我正在使用 Angular 文件模块:https://github.com/danialfarid/ng-file-upload

我在上传到需要凭据的 api 时遇到困难。我正在传递“withCredentials:true”。这似乎不起作用。

我能够在没有凭据的情况下成功上传相同 API 的另一个设置。 CORS 在此 API 上正确设置,其他 GET/POST 调用 ( CORS ) 在此 API 上工作。

如果我在这里遗漏了一些东西,如果你能指导我,那就太好了。

错误:

“网络错误:401未经授权 - devices.olacabs-dev.in/notification/doUpload”; doUpload 2 跨源请求被阻止:同源策略不允许读取主机名/notification/doUpload 处的远程资源。这可以通过将资源移动到同一域或启用 CORS 来解决。我与不需要凭据的 API 主机进行了交换,并且成功了。

  $upload.upload({
                    url: NotificationAPI.hostName + '/notification/doUpload',
                    headers: {'Content-Type' : 'multipart/form-data'},
                    fields: fields,
                    file: file,
                    withCredentials : true,
                }).

最佳答案

我想我也遇到了和你一样的问题。我通过在响应 header 中将“Access-Control-Allow-Credentials”设置为 true 解决了这个问题。

关于javascript - 带有凭据的 Angular 文件上传 ( CORS ) 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29516885/

相关文章:

javascript - AngularJS $http POST 转为 GET

javascript - ES6 导入语句的好处

javascript - 在 Polymer 回调函数中访问 div

angularjs - 在 Typescript 中将 angularjs 指令实现为类

angularjs - 使用 Protractor 测试临时元素的内容

meanjs - 使用 Angular-file-upload 将图片添加到 MEAN.JS 示例

javascript - 停止递归回调的最佳方法是什么?

javascript - 当用户点击php时,尝试使用javascript函数在特定时间运行mysql查询

javascript - 提供 AngularJS Controller 数据

angularjs - 如何使用多部分/表单数据在 Rest Angularjs 中上传文件