Ответ 1
Взгляните на документацию помощников Laravel: http://laravel.com/docs/4.2/helpers
Если вам нужна ссылка на ваш актив, вы можете сделать это следующим образом:
$download_link = link_to_asset('file/example.png');
Edit
Если вышеуказанный метод не работает для вас, вы можете реализовать довольно простой маршрут загрузки в app/routes.php, который выглядит следующим образом:
Примечание. В этом примере предполагается, что ваши файлы расположены в приложении/хранилище/файле/.
// Download Route
Route::get('download/{filename}', function($filename)
{
// Check if file exists in app/storage/file folder
$file_path = storage_path() .'/file/'. $filename;
if (file_exists($file_path))
{
// Send Download
return Response::download($file_path, $filename, [
'Content-Length: '. filesize($file_path)
]);
}
else
{
// Error
exit('Requested file does not exist on our server!');
}
})
->where('filename', '[A-Za-z0-9\-\_\.]+');
Использование: http://your-domain.com/download/example.png
Это будет искать файл в: app/storage/file/example.png(если он существует, отправьте файл в браузер/клиент, иначе он отобразит сообщение об ошибке).
P.S. '[A-Za-z0-9\-\_\.]+
это регулярное выражение гарантирует, что пользователь может запрашивать файлы с именем, содержащим A-Z
или A-Z
(буквы), 0-9
(числа), -
или _
или .
(символы). Все остальное отбрасывается/игнорируется. Это мера безопасности/безопасности.