odwini / laravel-mediable
一个用于轻松将媒体文件上传和附加到模型(Laravel fork自plank/laravel-mediable)的包
dev-master
2020-04-02 11:58 UTC
Requires
- php: >=7.2.0
- ext-fileinfo: *
- illuminate/database: ^5.6|^6.0|^7.0
- illuminate/filesystem: ^5.6|^6.0|^7.0
- illuminate/support: ^5.6|^6.0|^7.0
- league/flysystem: ~1.0.23
- psr/http-message: ^1.0
Requires (Dev)
- aws/aws-sdk-php: ~3.29.0
- guzzlehttp/guzzle: ^6.3
- guzzlehttp/promises: ^1.3
- league/flysystem-aws-s3-v3: ~1.0.23
- orchestra/testbench: ^3.3|^4.0|^5.0
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^8.0|^9.0
- vlucas/phpdotenv: ^3.3
This package is not auto-updated.
Last update: 2024-09-28 12:01:35 UTC
README
Laravel-Mediable 是一个用于轻松将媒体文件上传和附加到 Laravel 5 模型的包。
特性
- 基于文件系统的方法易于配置,允许配置任意数量的上传目录,并具有不同的访问权限。
- 多对多多态关系允许将任意数量的媒体分配给任意数量的其他模型,无需修改任何模式。
- 使用标签将媒体附加到模型,以便为特定目的设置和检索媒体,例如
'thumbnail'
、'featured image'
、'gallery'
或'download'
。 - 轻松查询媒体,并限制上传的 MIME 类型、扩展名和/或聚合类型(例如,
image
对应 jpeg、png 或 gif)。
示例用法
将文件上传到服务器,并将其放置在文件系统磁盘上的 "uploads" 目录中。这将创建一个媒体记录,可用于引用该文件。
$media = MediaUploader::fromSource($request->file('thumb'))
->toDestination('uploads', 'blog/thumbnails')
->upload();
使用一个或多个定义其关系的标签将媒体附加到另一个 eloquent 模型。
$post = Post::create($this->request->input());
$post->attachMedia($media, ['thumbnail']);
通过其标签检索媒体。
$post->getMedia('thumbnail')->first()->getUrl();
安装
使用 composer 将包添加到您的 Laravel 应用程序中
composer require plank/laravel-mediable
在 config/app.php
中注册包的 service provider。在 Laravel 5.5 及更高版本中,如果启用了包自动发现,则可以跳过此步骤。
'providers' => [
...
Plank\Mediable\MediableServiceProvider::class,
...
];
该包提供了一个用于图像上传器的 Facade,您可以选择注册它。在 Laravel 5.5 及更高版本中,如果启用了包自动发现,则可以跳过此步骤。
'aliases' => [
...
'MediaUploader' => Plank\Mediable\MediaUploaderFacade::class,
...
]
使用 artisan 发布包的配置文件(config/mediable.php
)和迁移文件(database/migrations/####_##_##_######_create_mediable_tables.php
)。
php artisan vendor:publish --provider="Plank\Mediable\MediableServiceProvider"
运行迁移以将所需表添加到您的数据库中。
php artisan migrate
文档
在此处阅读文档。
许可证
此包在 MIT 许可证(MIT)下发布。
关于 Plank
Plank 是一家总部位于加拿大蒙特利尔的网络开发公司。