如何使用文件下载功能?

官方文档

下载文件
download 方法可用于生成一个响应,强制用户的浏览器在给定路径下载文件。 download 方法接受一个文件名作为该方法的第二个参数,它将确定用户下载文件时看到的文件名。最后,你可以传递一个 HTTP 数组头作为该方法的第三个参数:

return Storage::download('file.jpg');

return Storage::download('file.jpg', $name, $headers);

首先创建个路由

Route::get('/download','UsersController@download')->name('download');

控制器

 public function download(User $user)
    {
         return Storage::download(Auth::user()->download);
    }

模板中

        <a href="{{route('download')}}" class="btn btn-large pull-right">
            <i class="btn btn-success">下载按钮 </i>
        </a>

users 表中有个 download 字段存储一个图片的路径。
点击模板中下载链接提示!

League\Flysystem\FileNotFoundException
File not found at path: avatars/THw8h6IY9H00lGTrWFEQXjyLMwLMB0WFjU9iCNq7.jpeg
http://127.0.0.1/laravel/public/download

‘http:/127.0.0.1/laravel/public/storage/avatars/THw8h6IY9H00lGTrWFEQXjyLMwLMB0WFjU9iCNq7.jpeg’这个地址可以正常显示图片!请问哪里出了问题!难道我理解官方文档错误了吗?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 2

浏览器显示用的图片地址是 http 协议的 url,类似 http://domain.com/pics/xxx.jpg,,,下载用的图片地址是,,,系统的文件地址,,类似,,,c:\code\public\pics\xxx.jpg 或者 /www/code/public/pics/xxx.jpg

5年前 评论
李小明 (楼主) 5年前
largezhou (作者) 5年前
李小明 (楼主) 5年前

return Storage::disk ('public')->download (Auth::user ()->download,Auth::user ()->name); 测试 ok~@largezhou

5年前 评论