板条/laravel-mediable

一个用于将媒体文件轻松上传和附加到Laravel模型中的包

6.1.3 2024-09-02 01:19 UTC

README

Coveralls StyleCI Packagist

Laravel-Mediable是一个用于将媒体文件轻松上传和附加到Laravel模型中的包。

特性

  • 基于文件系统的方法易于配置,可以允许配置任意数量的上传目录,具有不同的可访问性。可以轻松通过MIME类型、扩展名和/或聚合类型(例如image,用于JPEG、PNG或GIF)来限制上传。
  • 多对多多态关系允许将任意数量的媒体分配给任意数量的其他模型,而无需修改它们的模式。
  • 使用标签将媒体附加到模型,以便根据特定目的设置和检索媒体,例如'thumbnail''featured image''gallery''download'
  • 集成了对图像的处理支持,以创建不同使用场景的变体。

示例用法

将文件上传到服务器,并将其放置在文件系统磁盘上的“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中注册包的服务提供者。在Laravel 5.5及更高版本中,如果启用了包自动发现,则可以跳过此步骤。

'providers' => [
    ...
    Plank\Mediable\MediableServiceProvider::class,
    ...
];

该包包含一个用于图像上传的Facade,您可以选择将其也注册。在Laravel 5.5及更高版本中,如果启用了包自动发现,则可以跳过此步骤。

'aliases' => [
	...
    'MediaUploader' => Plank\Mediable\MediaUploaderFacade::class,
    ...
]

使用artisan发布包的配置文件(config/mediable.php)。

php artisan vendor:publish --provider="Plank\Mediable\MediableServiceProvider"

运行迁移以将所需的表添加到数据库中。

php artisan migrate

文档

在此阅读文档。

许可证

此包根据MIT许可证(MIT)发布。

关于板条

板条是一家总部位于加拿大蒙特利尔的网络开发公司。