2016-01-03 15 views
10

Sunucuda görüntü yüklemesi ile uğraşıyordum. Ön uçta ngFileUpload kullanıyorum. Ama hep olsunCross Domain Görüntüsü upload Angular + laravel

"erişim kontrolü çek geçmez uçuş öncesi isteğe yanıt: Hayır 'Erişim Kontrol-Origin izin ver' başlığı istenen kaynak üzerinde mevcut olan"

dosyası yükle için

Eğik Kodu:

var uploadFile = function (file) { 
     if (file) { 

      if (!file.$error) { 
       Upload.upload({ 
        url: baseUrl+'upload', 
        file: file 


       }).progress(function (evt) { 
        var progressPercentage = parseInt(100.0 * evt.loaded/evt.total); 
        //console.log(evt.total); 
       }).success(function (data, status, headers, config) { 
        $timeout(function() { 

        console.log(data); 
        console.log(status); 
         if(status==200) 
         { 

          logo_path = data.logo_path; 

         } 

        }); 
       }); 
      } 

     } 
    }; 

laravel günü ben böyle CORS'yi yapılandırmış:

public function handle($request, Closure $next) 
{ 
    header("Access-Control-Allow-Origin: http://localhost:8001/"); 

    // ALLOW OPTIONS METHOD 
    $headers = [ 
     'Access-Control-Allow-Methods'=> 'POST, GET, OPTIONS, PUT, DELETE', 
     'Access-Control-Allow-Headers'=> 'Content-Type, X-Auth-Token, Origin' 
    ]; 
    if($request->getMethod() == "OPTIONS") { 
     // The client-side application can set only headers allowed in Access-Control-Allow-Headers 
     return Response::make('OK', 200, $headers); 
    } 

    $response = $next($request); 
    foreach($headers as $key => $value) 
     $response->header($key, $value); 
    return $response; 
} 

Normal alanları arası POST isteği gayet iyi çalışıyor. i.e $ http.post(). Başlıklar üzerinde birçok farklı çeşitlemeyi denedim ama hiçbiri yardımcı olmuyor. Ayrıca SEÇENEKLER isteği 200 tamam döner, ancak yine de ön kontrol yanıtı mesajı görüntülenir. Bu sorunu daha fazla hata ayıklama konusunda bana yardımcı olan var mı? ekleyerek

+0

Başlıklara da 'Erişim-Denetim-İzin-Kökeni' ekleyin. – danial

+0

Başlıkları istemek için? Ben yardım etmedim –

+0

yanıt başlıkları. – danial

cevap

8

Dene: bootstrap/app.php yılında

header('Access-Control-Allow-Origin: *'); 
header('Access-Control-Allow-Headers: Origin, Content-Type'); 
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE'); 

Burada ayrıca erişim kontrolü için ihtiyaç duyabileceği diğer başlık ekleyebilirsiniz.