juckzhang/yii2-upload

The Qiniu 、ftp、local、aliyun-oss integration for the Yii2 framework

Installs: 14

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 2

Forks: 1

Open Issues: 0

Type:yii2-extension

1.0.0 2017-04-17 02:39 UTC

This package is not auto-updated.

Last update: 2024-04-19 17:49:51 UTC


README

The Qiniu integration for the Yii framework

Latest Stable Version Total Downloads License

Installation

The preferred way to install this extension is through composer.

Either run

composer require juckzhang/yii2-upload:*

or add

"juckzhang/yii2-upload": "*"

to the require section of your composer.json.

Configuration

To use this extension, simply add the following code in your application configuration:

[配置]

1、config目录下新添加上传配置文件upload.php

return [
    'advertisement' => [
        'extensions' => null,
        'mimeTypes'  => null,
        'minSize' => 1024,
        'maxSize' => 10 * 1048576,
        'uploadRequired' => '上传文件不存在!',
        'tooBig'  => '文件大小超过限制',
        'tooSmall' => '上传文件太小',
        'tooMany' => '上传文件数量超过限制',
        'wrongExtension' => '文件扩展名不支持',
        'wrongMimeType' => '文件mime-type不支持',
        'path'  => realpath(__DIR__ . '/../upload'),
        'urlPrefix'   => 'http://localhost',
        'remoteUpload' => true,
        'recursive' => false,
    ],
];

2、

/** QiNiu **/
return [
    'components' => [
      'uploadTool' => [
          'class' => 'juckzhang\drivers\UploadTool',
           'handler' => [
               'class' => 'juckzhang\drivers\UploadQiNiu',
               'diskName' => 'privateBucket',
               'config' => [
               'class' => 'dcb9\qiniu\Component',
               'accessKey' => 'YOUR ACCESSKEY',
               'secretKey' => 'YOUR SECRETKEY',
               'disks' => [
                   'privateBucket' => [
                       'bucket' => 'YOUR BUCKET',
                       'baseUrl' => 'http://your-domain/',
                       'isPrivate' => true,
                       'zone' => 'zone1', // 可设置为 zone0, zone1 @see \Qiniu\Zone
                   ],
               ],
           ],
      ],
    ],
]

/** OR AliYun **/
return [
    'components' => [
      'uploadTool' => [
          'class' => 'juckzhang\drivers\UploadTool',
          'handler' => [
              'class' => 'juckzhang\drivers\UploadAliYun',
              'accessKeyId' => 'YOUR ACCESSSKEYID',
              'accessKeySecret' => 'ACCESSKEYSECRET',
              'bucket' => 'test-zaizaitv-upload',
              'endPoint' => 'http://your-domain/',
          ],
      ],
    ],
]

/** OR Ftp **/
return [
    'components' => [
      'uploadTool' => [
          'class' => 'juckzhang\drivers\UploadTool',
          'handler' => [
              'class' => 'juckzhang\drivers\UploadFtp',
              'config' => [
                  'class' => 'gftp\FtpComponent',
                  'connectionString' => 'ftp://USERNAME:PASSWORD@HOST:PORT',
                  'driverOptions' => [
                      'timeout' => 30,
                  ],
              ],
          ],
      ],
    ],
  ]

[使用1]

\Yii::$app->get('uploadTool')->uploadFile($remoteFileName,$localFileName);

[使用2]

/**单文件上传**/
juckzhang\UploadService::getService()->upload($sceneType);

/**多文件上传**/
juckzhang\UploadService::getService()->multiUpload($sceneType);

[控制器中使用]

    'controllerMap' => [
        'upload' => [
            'class' => 'juckzhang\controllers\UploadController',
        ],
    ],

Tricks