美文网首页
laravel 使用 AetherUpload 分片上传大文件

laravel 使用 AetherUpload 分片上传大文件

作者: 大萝卜2022 | 来源:发表于2022-11-16 11:45 被阅读0次

    说明

    AetherUpload 是提供超大文件上传的 laravel 扩展包,带百分比进度显示,支持断点续传,支持自定义中间件,基于 laravel 5 开发。

    我们知道,在以前,文件上传采用的是直接传整个文件的方式,这种方式对付一些小文件是没有问题的。而当需要上传大文件时,此种方式不仅操作繁琐,需要修改 web 服务器和后端语言的配置,而且会大量占用服务器的内存,导致服务器内存吃紧,严重的甚至传输超时或文件过大无法上传。很显然,普通的文件上传方式已无法满足现在越来越高的要求。\

    随着技术的发展,如今我们可以利用 HTML5 的分块上传技术来轻松解决这个困扰,通过将大文件分割成小块逐个上传再拼合,来降低服务器内存的占用,突破服务器及后端语言配置中的上传大小限制,可上传任意大小的文件,同时也简化了操作,提供了直观的进度显示。本人 laravel 版本 5.7。

    用法

    1. 在终端内切换到你的 laravel 项目根目录,执行 composer require peinhu/aetherupload-laravel dev-master

    2. 在 config/app.php 的 providers 数组中添加一行 Peinhu\AetherUpload\AetherUploadServiceProvider::class,

    3. 执行 php artisan vendor:publish 来发布一些文件和目录

    4. 赋予上传目录相应权限,在项目根目录下,执行 chmod 755 storage/app/uploads -R

    5. 在浏览器访问 http://域名/aetherupload 可到达示例页面

    提示:更改相关配置选项请编辑 config/aetherupload.php。

    安装成功后,把代码复制到需要上传的页面

    58b7b49b7e23b73f25a86ce73d56f6f.png

    php入门到就业线上直播课:[进入学习](javascript:void(0);)
    Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

    3a25eaabcb78b442d1c3d199ccdbbb9.png

    提示:代码路径 \vendor\peinhu\aetherupload-laravel\views\example.blade.php

    上传报错 AetherUpload\UploadController::validate does not exist, AetherUpload\UploadController::validate 不存在

    因为 UploadController.php 文件有 validate 验证,验证上传文件 / 视频一些必要参数

    249a26885ce380d8ff7b1de7ee07042.png 901ec1180ccc5c5265042c3e2f98d14.png

    我给注释掉了

    文件路径 \vendor\peinhu\aetherupload-laravel\src\UploadController.php

    文件 / 视频上传路径 \storage\app 下,而我想要上传到 \storage\app\public 下

    需要改动一个文件 (文件名称 PartialResource.php)

    第一个改动如下

    d663b4b056a25e0a2479675fe35bb7f.png

    第二个改动如下

    6249dce8d31d0b88e948a109e497b55.png

    文件路径 \vendor\peinhu\aetherupload-laravel\src\PartialResource.php

    为 storage 创建软连接

    命令 php artisan storage:link

    访问 public/storage 文件夹可以直接访问到视频 / 文件上传路径,即 \storage\app\public 文件夹

    相关文章

      网友评论

          本文标题:laravel 使用 AetherUpload 分片上传大文件

          本文链接:https://www.haomeiwen.com/subject/wyyyxdtx.html