AetherUpload-Laravel 大文件上传神器(亲测有效)
今天在laravel5.5框架下实现文件上传,发现9M以上的文件上传失败。
request的数据均为空。
在网上搜寻了之后发现此神器,亲测有效,非常强大。
下面说下配置步骤:
安装
0 在终端内切换到你的laravel项目根目录,执行composer require peinhu/aetherupload-laravel ~1.0
1 (Laravel 5.5请跳过)在config/app.php
的providers
数组中添加一行AetherUpload\AetherUploadServiceProvider::class,
2 执行php artisan aetherupload:publish
来发布一些文件和目录
3 赋予上传目录相应权限,在项目根目录下,执行chmod -R 755 storage/app/aetherupload
4 在浏览器访问http://域名/aetherupload
可到达示例页面
提示:更改相关配置选项请编辑config/aetherupload.php
。
基本用法
文件上传:参考示例文件注释的部分,在需要上传大文件的页面引入相应文件和代码。可使用自定义中间件来对文件上传进行额外过滤,还可使用上传完成事件对上传的文件进一步处理。
分组配置:在配置文件的GROUPS下新增分组,运行php artisan aetherupload:groups
自动创建对应目录。
自定义中间件:参考laravel文档中间件部分,创建你的中间件并在Kernel.php
中注册,将你注册的中间件名称填入配置文件对应部分,如['middleware1','middleware2']。
上传完成事件:分为上传完成前和上传完成后事件,参考laravel文档事件系统部分,在EventServiceProvider
中注册你的事件和监听器,运行php artisan event:generate
生成事件和监听器,将你注册的事件完整类名填入配置文件对应部分,如'App\Events\OrderShipped'。