yunusemrebaloglu/chunk-upload

一个用于分块上传的Laravel包。

v1 2024-01-23 20:21 UTC

This package is auto-updated.

Last update: 2024-09-29 12:47:14 UTC


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 许可证许可。