oonne / yii2-webuploader
基于WebUploader的Yii2大文件分片上传扩展。
1.0.4
2019-06-28 03:04 UTC
Requires
- yiisoft/yii2: *
README
基于WebUploader的Yii2大文件分片上传扩展。
基于Webuploader 的Yii2大文件上传扩展。Webuploader 是由Baidu WebFE(FEX)团队开发的一个以HTML5为主,FLASH为辅的现代文件上传组件,支持图片上传和文件上传。本扩展仅实现大文件分片上传功能。
安装
建议通过 composer 安装此扩展。
运行以下命令
php composer.phar require --prefer-dist oonne/yii2-webuploader "*"
或在您的 composer.json 文件的 require 部分添加
"oonne/yii2-webuploader": "*"
到您的 composer.json 文件。
使用方法
- 在视图中添加上传小部件,例如
<?php use oonne\webuploader\Upload; ?> <?= Upload::widget(['url'=>'/upload/upload']) ?>
在 "url" 中输入服务处理路径;
- 添加一个上传控制器,例如
<?php namespace backend\controllers; use Yii; use yii\web\Response; use yii\web\UploadedFile; use oonne\webuploader\UploadServer; class UploadController extends \yii\rest\Controller { public function behaviors() { $behaviors = parent::behaviors(); $behaviors['contentNegotiator']['formats'] = [ 'application/json' => Response::FORMAT_JSON ]; return $behaviors; } protected function verbs() { return [ 'upload' => ['post'], ]; } public function actionUpload() { $fileData = Yii::$app->request->post(); $file = UploadedFile::getInstanceByName('file'); $fileRet = UploadServer::uploadFile($file, $fileData, Yii::$app->params['temppath'], Yii::$app->params['filepath']); if ($fileRet['ret'] == 0) { return [ 'Ret' => 0, 'Filename' => $fileRet['file_name'], 'Url' => '$downloadUrl', 'Callback' => 'location.reload(true)', ]; } else { return [ 'Ret' => 1000, ]; } } }