Emery
Emery

Reputation: 37

return file response in laravel not working

I'm using laravel 5.2 , I've used response()->file() function to return file. On localhost it is working as expected but on live server file is being downloaded automatically (with no extension). But i wish to open it instead of downlod. Anyone can help?

Here is my code:


public function returnFile($slug)

{$file = Mixes::where('id_name,'=',$slug)->get()->first();
 return response()->file('./path/to/file/'.$file->name);}

Thanks.

Upvotes: 4

Views: 33004

Answers (1)

Martin
Martin

Reputation: 1279

You'll need to add header to your response.
Response with header example:

$response->header('Content-Type', 'application/pdf');

Simple example:

$file = File::get($file);
   $response = Response::make($file, 200);
   $response->header('Content-Type', 'application/pdf');
   return $response;

Then the file will display in your browser window.

This solution will work with files pdf,docx,doc,xls.

Hope it will help!

Upvotes: 18

Related Questions