dbrisinajumi/d1files

文件上传器

安装: 83

依赖项: 1

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 0

开放问题: 1

类型:yii-extension

dev-master 2022-08-04 11:40 UTC

This package is auto-updated.

Last update: 2024-09-04 16:01:22 UTC


README

特性

  • 将文件附加到模型记录
  • 模型视图小部件

安装

php composer.phar require dbrisinajumi/d1files dev-master
  • 添加到 config/main.php
     'import' => array(
        'vendor.dbrisinajumi.d1files.models.*',
    ),
    'modules' => array(
        'd1files' => array(
             'class' => 'vendor.dbrisinajumi.d1files.D1filesModule',
             'upload_dir' => 'root.upload',
         ),  
	 ),

使用方法

控制器

  • 添加到访问规则,遵循以下操作:'upload','deleteFile','downloadFile'
  • 添加操作
<?php

    public function actionUpload($model_id ) {

        Yii::import( "vendor.dbrisinajumi.d1files.compnents.*");
        $oUploadHandler = new UploadHandlerD1files(
                        array(
                            'model_name' => 'model....',
                            'model_id' => $model_id,
                            'accept_file_types' => '/\.(gif|pdf|dat|jpe?g|png)$/i',
                        )
        );

    }

    public function actionDeleteFile($id) {
        Yii::import( "vendor.dbrisinajumi.d1files.compnents.*");        
        UploadHandlerD1files::deleteFile($id);
    }

    public function actionDownloadFile($id) {
        
        $m = D1files::model();
        $model = $m->findByPk($id);
        if ($model === null) {
            throw new CHttpException(404, 'The requested record in d1files does not exist.');
        }
        
        Yii::import( "vendor.dbrisinajumi.d1files.compnents.*");
        $oUploadHandler = new UploadHandlerD1files(
                        array(
                            'model_name' => 'model....',
                            'model_id' => $id,
                            'download_via_php' => TRUE,
                            'file_name' => $model->file_name,
                        )
        );  
    }    

视图

        $this->widget(
             'TbDetailView', array(
            'data' => $model,
            'attributes' => array(
                array(
                    'label' => Yii::t('FuelingModule.crud', 'Attachments'),
                    'type'   => 'raw',
                    'template'   =>  $this->widget(
                                        'vendor.dbrisinajumi.d1files.widgets.d1Upload',
                                        array(
                                            'controler' => $this,
                                            'model_id' => $model->getPrimaryKey(),
                                            'action' => 'template',
                                            ),
                                        true
                                        ),
                    'value'  => $this->widget("bootstrap.widgets.TbButton", array(
                        "label"=>Yii::t("FuelingModule.crud_static","Add file"),
                        "icon"=>"icon-plusthick",
                        'htmlOptions' => array(
                            'data-toggle' => 'modal',
                            'onclick' => '$("#fileupload").trigger("click");'
                         ),

                    ),true)
                    ,

                ),