在调用图像时,Cors Origin在laravel的Direct Path中

PER*_*SON 5 php cors laravel virtual-reality angular

现在我使用laravel 5.2构建web应用程序作为webserivce和angular2作为首页我使用来自http://cdn.pannellum.org的 VR库 我的问题当我从mywebsite.com/public/Images/photo7我的数据库中调用Iamge的链接时.png回复给我这条消息

'access-Control-Allow-Origin'标头出现在请求的资源上.原产地" 的http://本地主机:5565 "因此不允许访问.

但我在开始项目从laravel和angular传输数据之前处理了这个问题但是当我从直接路径调用我的图像时返回给我这条消息

Kam*_*ski 1

Laravel 5 (L5):在我的项目中,当我返回图像(文件)并想要避免 CORS 时,我使用以下代码(我在没有测试的情况下手动更改了它,但它应该可以工作):

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 (e.g. for images)
    );

    return response()->download($filePath, $originalFileName, $headers);
}
Run Code Online (Sandbox Code Playgroud)

在此解决方案中,您根本不需要接触 apache .htaccess文件(或 nginx 配置文件)(如果这样做,将会导致标头重复错误) - 因为在这种情况下,我们使用所谓的Simple CORS request

您还可以阅读此答案,以避免可能导致 CORS 错误的其他问题。