2016-04-25 3 views
1

Если бы я нажал ссылку с url: website.com/open/pdf/Document_One_Drag_3.pdf, он откроет pdf в браузере вместо загрузки. Это мой код в Route.phpКак открыть PDF в режиме онлайн с помощью laravel 5.2?

Route::get('/open/pdf/{filename}', function($filename) 
{ 
    // Check if file exists in app/storage/file folder 
    $file_path = public_path('uploads/docs/'.$filename); 
    if (file_exists($file_path)) 
    { 
     return Response::make(file_get_contents($file_path), 200, [ 
      'Content-Type' => 'application/pdf', 
      'Content-Disposition' => 'inline; '.$filename, 
     ]); 
    } 
    else 
    { 
     // Error 
     exit('Requested file does not exist on our server!'); 
    } 
}); 

файл PDF по-прежнему загрузки и не открывается в браузере. Что не так ?

+0

попробовать это http://stackoverflow.com/questions/25938294/laravel-display-a-pdf-file-in-storage-without -forcing-download –

ответ

0

Учитывая Laravel 5.2, метод загрузки может использоваться для генерации ответа, который заставляет браузер пользователя загружать файл по заданному пути.

$pathToFile = public_path(). "/download/fileName.pdf"; 
return response()->download($pathToFile); 

Метод загрузки принимает имя файла в качестве второго аргумента метода, который будет определять имя файла, видимую пользователем загрузки файла. Наконец, вы можете передать массив HTTP заголовков в качестве третьего аргумента метода:

return response()->download($pathToFile, $name, $headers); 

Таким образом, вы можете использовать

$headers = ['Content-Type' => 'application/pdf']; 

в качестве третьего параметра.

Эта информация может быть полезна также:

Примечание: Symfony HttpFoundation, который управляет загрузки файлов, требует файл загружается иметь имя ASCII файла.

L5.2 Documentation

Чтобы открыть в браузере

<a href="{{url('/your/path/to/pdf/')}}" target="_blank" >My PDf </a> 
+0

Итак, если бы я хотел открыть файл, я должен использовать 'return response() -> file ($ pathToFile, $ headers); правильно ? и результатом является файл PDF, который все еще загружается. Я не знаю, что не так. –

+0

Вы не пытаетесь скачать файл? Или просто хотите, чтобы файл pdf был открыт на вкладке браузера? Весь ваш код, который вы написали, предназначен для загрузки. – VipindasKS

+0

Я хочу просмотреть pdf в браузере, не загружая его. –

Смежные вопросы