ahora creo una aplicación web usando laravel 5.2 como servicio web y angular2 como página principal. Uso la biblioteca VR de http://cdn.pannellum.org . Mi problema cuando llamo al enlace Of Iamge desde mi base de datos como mywebsite.com/public/Images/photo7 .png devuélveme este mensaje
El encabezado 'Access-Control-Allow-Origin' está presente en el recurso solicitado. Por lo tanto, no se permite el acceso al origen ' http://localhost:5565 '.
pero manejé este problema antes de comenzar el proyecto para transferir datos de laravel y angular, pero cuando llamo a mis imágenes desde Direct Path, me devuelve este mensaje
Laravel 5 (L5) : en mi proyecto, cuando devuelvo la imagen (archivo) y quiero evitar CORS, uso el siguiente código (lo cambio un poco a mano sin probarlo, pero debería funcionar):
private function responseFile($filePath, $fileMimeType, $originalFileName) { $headers = array( 'Content-Type' => $fileMimeType, //'Content-Disposition' => 'attachment; filename="'. $attachment->org_name . '"', - this header is added automaticaly "Access-Control-Allow-Origin" => request()->getSchemeAndHttpHost() // allow CORS (eg for images) ); return response()->download($filePath, $originalFileName, $headers); }En esta solución, no necesita tocar el archivo apache .htaccess (o los archivos de configuración nginx) en absoluto (si lo hace, causará errores con la duplicación de encabezados), porque en este caso usamos la llamada solicitud CORS simple .
También puede leer esta respuesta para evitar otros problemas que pueden causar ese error CORS.
Pruebe estos métodos:
fetch(url,{mode:"cors"}) .then(res => res.blob()) .then(blob => { const file = new File([blob], 'dot.png', {type:'image/png'}); console.log(file); });