Laravel下载文件在laravel 5.2中不起作用

时间:2017-03-17 07:58:56

标签: php laravel-5.2

我制作api,我发送图像链接,然后用户可以从此链接下载图像

第一个问题

$ path =(public_path(" images")。$ filename);

echo $ path比path更像

" C:\ wamp \ www \ jobpost \ public \ imagesPerson.PNG" //为什么它没有放置\ after images

我这样做但发生错误

$ path =(public_path(" images")。" \"。$ filename);

第二个问题

我测试图像下载后是否手动放置链接

返回响应::下载(" C:\ wamp \ www \ jobpost \ public \ images \ Person.PNG");

发生错误

  

调用未定义的方法Illuminate \ Auth \ Access \ Response :: download()

我已在控制器顶部使用此功能

使用Illuminate \ Auth \ Access \ Response; //我发表评论并使用

使用响应 //错误删除

第3个问题

当我使用Response

返回响应::下载(" C:\ wamp \ www \ jobpost \ public \ images \ Person.PNG");

发生错误

  

调用未定义的方法Symfony \ Component \ HttpFoundation \ BinaryFileResponse :: header()

我搜索了很多这是我的标题

   $headers = array(
            'Content-Type: PNG',

        );

我替换了这个

       return Response::download("C:\wamp\www\jobpost\public\images\Person.PNG"); 

来自这个

      return( Response::download( "C:\wamp\www\jobpost\public\images\Person.PNG", 'filename.PNG', $headers) );

但仍然无法解决问题

我的cors.php

Cors.php

$headers = [
        'Access-Control-Allow-Origin'=> '*',
        'Access-Control-Allow-Methods'=> 'POST, GET, OPTIONS, PUT, DELETE',
        'Access-Control-Allow-Headers'=> 'Content-Type, X-Auth-Token, Origin',
        'Access-Control-Allow-Credentials' => 'true'

    ];
    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;

1 个答案:

答案 0 :(得分:0)

使用
response()->download("C:\wamp\www\jobpost\public\images\Person.PNG");