odwini/laravel-mediable

一个用于轻松将媒体文件上传和附加到模型(Laravel fork自plank/laravel-mediable)的包

dev-master 2020-04-02 11:58 UTC

This package is not auto-updated.

Last update: 2024-09-28 12:01:35 UTC


README

Travis Coveralls SensioLabsInsight StyleCI Packagist

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 是一家总部位于加拿大蒙特利尔的网络开发公司。