小编Seb*_*i55的帖子

Laravel中的BinaryFileResponse未定义

我有以下问题:我想在路由上返回一个Image/getImage/{id}该函数如下所示:

public function getImage($id){
   $image = Image::find($id);
   return response()->download('/srv/www/example.com/api/public/images/'.$image->filename);
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时它返回给我:

FatalErrorException in HandleCors.php line 18:
Call to undefined method Symfony\Component\HttpFoundation\BinaryFileResponse::header()
Run Code Online (Sandbox Code Playgroud)

我有use Response;控制器的开头.我不认为HandleCors.php是问题,但无论如何:

<?php namespace App\Http\Middleware;
use Closure;

use Illuminate\Contracts\Routing\Middleware;
use Illuminate\Http\Response;

class CORS implements Middleware {

public function handle($request, Closure $next)
{
      return $next($request)->header('Access-Control-Allow-Origin' , '*')
            ->header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE')
            ->header('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With, Application');
     }
}
Run Code Online (Sandbox Code Playgroud)

我实际上不知道为什么会发生这种情况,因为它与Laravel Docs中描述的完全相同.我收到错误后更新了Laravel,但这并没有解决它.

php http symfony laravel

19
推荐指数
2
解决办法
1万
查看次数

标签 统计

http ×1

laravel ×1

php ×1

symfony ×1