yu-yu-tech/ file-manager
Laravel 包,用于管理存储及其映射
2.1.4
2023-11-02 06:10 UTC
Requires
- spatie/image: *
README
管理s3与本地文件系统的存储访问
安装
# In your Laravel Project $ composer require yuyu-tech/file-manager # Publish package resourceses using $ php artisan vendor:publish --provider="Yuyu\FileManager\Providers\FileManagerServiceProvider" #To migrate package resources $ php artisan migrate --path=database/migration/2019_10_24_090016_create_attachments_table.php # For ease of use for local storage, create the symbolic link for storage directory using # Not require for S3 storage $ php artisan storage:link
如何访问它?
我们可以通过以下方式生成 FileManagerController 的实例。
- 使用 Facade(FileManager)
use FileManager; $objFileManager = new FileManager;
- 使用类(FileManagerController)
use \Yuyu\FileManager\Controllers\FileManagerController; $objFileManager = new FileManagerController;
- 使用 app 辅助函数(fileManager)
$objFileManager = app('fileManager');
存储文件
我们可以直接存储文件内容或UploadedFile 对象。
存储上传文件对象
- 使用 FileManager 实例的 storeFile 方法存储任何附件
- 输入参数
- 上传文件对象
- 将要映射的对象。
- 关系方法名称
- 存储路径
- 它将返回一个 Attachment 实例。
- 例如
$objAttachment = FileManager::storeFile($request->file, $user, 'profilePicture', '/user/profile-picture/');
存储内容
- 使用 FileManager 实例的 storeContent 方法存储内容。
- 输入参数
- 文件内容
- 原始文件名
- MIME 类型
- 文件扩展名
- 将要映射的对象。
- 关系方法名称
- 存储路径
- 它将返回一个 Attachment 实例。
- 例如
$objAttachment = FileManager::storeContent($content, $strFileName, $strMimeType, $strExtension, $user, 'profilePicture', $strPath='user/profile-picture');
生成访问 URL
- 我们可以使用 FileManager 的 getAccessUrl 方法为任何附件生成查看或下载 URL。
- 输入参数
- 附件 ID
- 访问 URL 类型:可以是 "view" 或 "download",默认值:"view"
- 过期时间:在多少分钟后 URL 将不再有效。默认值:"1440" 分钟
- 它将返回 URL
- 例如
// Generate a view URL for attachment id 1 which will expire after 50 Minutes. $strViewUrl = FileManager::getAccessUrl(1, 'view', 50); // Generate a download URL for attachment id 1 which will never expire // Here to generate never expire URL we will pass a biggest value for expire after parameter. $strViewUrl = FileManager::getAccessUrl(1, 'download', 99999999999);