yunusemrebaloglu / chunk-upload
一个用于分块上传的Laravel包。
v1
2024-01-23 20:21 UTC
Requires
- php: ^8.1
- nesbot/carbon: ^3.0.0
README
ChunkUpload 允许对要上传的文件进行分块上传和合并。您可以通过示例 InertiaJs 组件自定义它以适应您的设计。它将上传过程执行到指定的磁盘。如果在上传过程中指定了路由,它将使用该路由。如果您想删除,它将删除相关的文件。如果您激活了自动删除,它将根据您指定的分钟或配置中的数据执行删除过程。
注意:我们建议为删除过程指定一个特殊的磁盘。该目录中的所有文件都将受到影响!
安装
您可以通过 Composer 安装 ChunkUpload。在您的 Laravel 项目目录中运行以下命令
composer require yunusemrebaloglu/chunk-upload
配置
要发布包的配置文件,请运行以下命令
php artisan vendor:publish --tag=chunk-upload-config
这会将配置文件复制到您的 config 目录中,您可以在此处自定义它。
php artisan vendor:publish --tag=chunk-upload-inertia-components
这会将配置文件复制到 InertiaJs 组件的 'components' 目录中,您可以在此处自定义它。
用法
对于分块上传过程,首先包含相关的组件。
import FileUpload from "@/Components/FileUpload.vue";
您可以通过相关的组件执行设计和编辑操作。
<FileUpload v-model="form.file_name"></FileUpload>
此组件可以与 v-model 一起使用。
文件上传后,您可以通过配置中的此名称在您提供的磁盘上处理文件。
Storage::disk('custom_disk')->makeDirectory($model->id . '/files/'); File::move(Storage::disk('The disk name you specified via config')->path($request->file_name), Storage::disk('listing')->path($model->id . '/files/' . $request->file_name));
删除文件
注意:我们建议为删除过程指定一个特殊的磁盘。该目录中的所有文件都将受到影响!
以下命令从您指定的磁盘检索文件。它与配置中指定的分钟数进行比较。如果时间已过,则删除文件。
php artisan chunk-upload:delete_files
许可证
ChunkUpload 是开源软件,根据 MIT 许可证许可。