使用的是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在上传文件的请求中,也需要带一些参数,才能解决跨域问题?
没有那么一回事,我认为还是你后端在设置CORS没有把你相应的域名写上,或者直接
*
来表示任何域名都可以。