hgacreative/storage-manager

S3 存储管理

v1.2 2020-06-30 05:54 UTC

This package is auto-updated.

Last update: 2024-09-29 05:28:49 UTC


README

用于管理S3上的文件,通过存储管理器接口,您可以轻松地上传和删除文件。

此包将操作数据记录到数据库中。

安装

composer require hgacreative/storage-manager

迁移

php artisan vendor:publish

查找标签:storage-manager-migrations

php artisan migrate

导入

use HgaCreative\StorageManager\Facades\StorageManager;

上传文件

$file = StorageManager::uploadFile($file, $tag);

$$tag是您想放置文件的目录,可以是类似于"users/avatars"的东西。

如果成功,则返回FileUpload模型,否则返回null。

删除文件

StorageManager::deleteFile($key)

从数据库和S3中删除文件。

键存储在数据库中,只需获取您想要的键并使用即可。

键的示例: directory/sub_directory/image.jpg

数据库

文件_uploads表中的user_id外键假定users表id是这样定义的

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            ...
            ...

如果您使用bigIncrements,请将包的迁移外键user_id类型更改为bigInteger。

扩展FileUpload模型

在您的Models文件夹中创建一个FileUpload模型,并简单地扩展包的模型。您现在可以扩展其功能。

 <?php
    
    namespace App\Models;
    use HgaCreative\StorageManager\Models\FileUpload as HgaFileUpload;
    
    class FileUpload extends HgaFileUpload
    {
        //
    }

路由

使用以下路由从S3上传和删除文件

  • store接受一个文件和一个标签(可为null),将其上传并返回JSON响应。
  • destroy接受一个键以删除文件并返回JSON响应