Принудительно скачать файл с Laravel

Поэтому я использую Laravel 5, и я попытался принудительно загрузить выбранный файл, но ничего не происходит.

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);
}

и заголовки ответа, кажется, в порядке

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

Вы знаете, что не так?

5

Решение

Я думаю, что проблема в путях.

По умолчанию в config/filesystems.php локальный путь определяется следующим образом: storage_path('app') и вы переходите в загрузку по следующему пути: storage_path($entry->filePath) (нет app включен сюда).

Что вы должны сделать, это изменить:

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

в:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]