Angular 文件上传跨域问题?

  • 使用的是angular-file-upload

  • angular页面将图片上传到图片服务器,出现了跨域问题

//angular页面所在的域名是:http://dev.1-1dr.com
var testObj = angular.module('testApp',['angularFileUpload']);
testObj.controller("testCtr",function($scope,$upload){
    $scope.title = "测试文件上传";
        $scope.fileInfo = file;
        $upload.upload({
            //服务端接收
            url: 'http://upload.1-1dr.com/fileupload',
            //上传的同时带的参数
            data: { 'username': 'test'},
            file: file
        }).success(function (data) {
            //上传成功
            console.info(JSON.stringify(data));
        }).error(function (data, status, headers, config) {
            //上传失败
            console.log('error status: ' + status);
        });
    }
});
XMLHttpRequest cannot load http://upload.1-1dr.com/fileupload. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://dev.1-1dr.com' is therefore not allowed access.
  • 按照CORS的解决方法,服务器端响应添加了Access-Control-Allow-Origin头,但问题还是没解决。

  • 想问,是不是angular在上传文件的请求中,也需要带一些参数,才能解决跨域问题?

阅读 4.2k
1 个回答

没有那么一回事,我认为还是你后端在设置CORS没有把你相应的域名写上,或者直接 * 来表示任何域名都可以。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题