sateler / yii2-document
用于存储文档的Yii2模型
1.1.3
2020-05-12 21:01 UTC
Requires
- ramsey/uuid: ^4.0
- yiisoft/yii2: ^2.0.16
Suggests
- creocoder/yii2-flysystem: ^0.9.4
This package is auto-updated.
Last update: 2024-09-13 06:25:46 UTC
README
Yii2-document 可将文档存储在本地数据库或 Flysystem 支持的任何文件系统中。Flysystem。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令
php composer.phar require --prefer-dist sateler/yii2-document "^1.1"
或将以下内容添加到您的 composer.json
文件的 require 部分中。
"sateler/yii2-document": "^1.1"
扩展安装完成后,将命名空间添加到控制台配置
return [ 'controllerMap' => [ 'migrate' => [ 'class' => 'yii\console\controllers\MigrateController', 'migrationNamespaces' => [ 'sateler\document\migrations', ], ], ], ];
并将控制器添加到 Web 配置
return [ 'controllerMap' => [ 'documents' => [ 'class' => 'sateler\document\controllers\DocumentController', ] ], ];
配置
'documentManager' => [ 'class' => \sateler\document\DocumentManager::class, // Define default filesystem, of none given sql storage is used 'defaultFilesystemId' => 'awsS3', 'filesystems' => [ // A flysystem filesystem config 'awsS3' => [ 'class' => AwsS3Filesystem::class, 'bucket' => 'bucket-name', 'region' => 'us-east-1', 'prefix' => 'path', 'key' => 'key', 'secret' => 'secret', ], ], ],
用法
安装后,您现在可以在关系中使用 sateler\document\Document
,并通过 ['documents/view', 'id' => $docId]
重定向来查看或下载。
创建一个文档并保存它
$doc = new Document(); $doc->name = 'filename'; $doc->mime_type = 'mime/type'; $doc->contents = file_get_contents('/path/to/file'); $doc->save();
获取一个文档并发送它
$doc = Document::findOne($id) $res = Yii::$app->response; $res->format = Response::FORMAT_RAW; $res->setDownloadHeaders($doc->name, $doc->mime_type, true); $res->data = $doc->contents; $res->send();