2 回答
TA贡献2037条经验 获得超6个赞
看看 Laravel Helpers 文档:http ://laravel.com/docs/4.2/helpers
如果您想要链接到您的资产,您可以这样做:
$download_link = link_to_asset('file/example.png');
如果上述方法对您不起作用,那么您可以在app/routes.php 中实现一个相当简单的下载路由,如下所示:
请注意,此示例假设您的文件位于app/storage/file/位置
// 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(如果存在,将文件发送到浏览器/客户端,否则将显示错误消息)。
PS'[A-Za-z0-9\-\_\.]+此正则表达式确保用户只能请求名称包含 A-Z或a-z(字母)、0-9(数字)-或_或.(符号)的文件。其他所有内容都被丢弃/忽略。这是一项安全/安保措施......
TA贡献1824条经验 获得超5个赞
为了获得 Media 模型,我所要做的就是更改以下内容
$mediaItem = $mediaCollection->where('id', $mediaItemId);
到
$mediaItem = $mediaCollection->where('id', $mediaItemId)->first();
- 2 回答
- 0 关注
- 155 浏览
添加回答
举报