sateler/yii2-document

用于存储文档的Yii2模型

安装: 550

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 1

开放问题: 0

类型:yii2-extension

1.1.3 2020-05-12 21:01 UTC

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();