2015-12-24 21 views
5

Quindi sto usando Laravel 5 e ho provato a forzare il download di un file selezionato ma non succede nulla.forza download file con laravel

public function downloadUserFile(){ 
     $result = $_POST['filename']; 
     $entry = File::where('filename', $result)->firstOrFail(); 
     $file = Storage::disk()->get($entry->filePath); 
     $headers = array('Content-Type' => $entry->mimetype); 
     return response()->download(storage_path($entry->filePath), $result, $headers); 
} 

e le intestazioni di risposta sembrano essere ok

Accept-Ranges: none 
Cache-Control: public 
Connection: Keep-Alive 
Content-Disposition: attachment; filename="SIGNAL - Nadezdata.mp3" 
Content-Length: 4205059 
Content-Type: audio/mpeg 

Sai cosa c'è che non va?

risposta

1

Penso che il problema sia nei percorsi.

Per impostazione predefinita in config/filesystems.php percorso locale è definito in questo modo: storage_path('app') e si passa in scaricare il seguente percorso: storage_path($entry->filePath) (senza app incluso qui).

cosa si dovrebbe fare sta cambiando:

return response()->download(storage_path($entry->filePath), $result, $headers); 

in:

return response()->download(storage_path('app/'.$entry->filePath), $result, $headers); 
+0

ho già cambiato. Ma non ho passato nulla alla vista. Potrebbe essere questo il problema? – Alex

+0

Che visione intendi? Non si usa qui alcuna vista, dopo aver cliccato si forza il browser per scaricare il file e basta –

+0

Ma non succede niente. Non c'è download di forza – Alex