Политика CORS - заголовок Access-Control-Allow-Origin содержит несколько значений - PullRequest
0 голосов
/ 10 марта 2019

Я получаю эту ошибку при попытке загрузить файл на удаленный сервер с использованием jquery-файла. Blueimp https://github.com/blueimp/jQuery-File-Upload

Доступ к XMLHttpRequest по адресу https://stream.example.com/media/add_media' от источника 'https://stage.example.com' была заблокирована политикой CORS: Ответ на предполётный запрос не проходит проверку контроля доступа: Заголовок «Access-Control-Allow-Origin» содержит несколько значений «*, *», но разрешено только одно.

localhost

var sendData= true;  
        $('.media_file').fileupload({
          dataType: 'json',
          singleFileUploads:true,
          maxChunkSize: 500000,
          autoUpload:false,
          replaceFileInput:false,
          add: function (e, data) { 

              $(".upload-btn").on('click', function () {
                //on click of this button data submitted

                data.url = 'https://streaming.example.com/media/add_media';

                  data.submit();
              });
          },
          done: function (e, data) {
              //data submitted return filename and remove files input

              $('.media_file').remove();
              $.each(data.result.files, function (index, file) {
                  $("input[name='filename']").val(file.name);
              });

              $("#form1").submit();
          }
        });

удаленный сервер crossdomain.xml

<?xml version="1.0"?>   
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="*.example.com" secure="false"/>
    <allow-access-from domain="www.example.com" secure="false"/> 
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>

add_media контроллер (удаленный сервер)

class Media extends CI_Controller {

    function __construct() {
        parent::__construct();
        $arrmodel=array('media_model');
        $this->load->model($arrmodel);

    }

    function add_media() {

        $filename = explode(".",$_FILES['files']['name']);
        $extension = end($filename);
        array_pop($filename);
        $filename = implode(".",$filename);

        $_FILES['files']['name'] = uniqid().".".$extension;

        $options = array('upload_dir' => FCPATH.'streams/videos/' , 'upload_url' => FCPATH.'streams/videos/');


        $this->load->library("UploadHandler",$options);

        return $_FILES['files']['name'];

    }

}
...