hgacreative / storage-manager
S3 存储管理
v1.2
2020-06-30 05:54 UTC
Requires
- php: ^7.1.3
- ext-json: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
Suggests
- laravelista/lumen-vendor-publish: Required to publish the package config file in Lumen.
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响应