YII2.0+PLUPLOAD无法正常使用!! [ 2.0 版本 ]


视图文件
    <div class="panel panel-default">
        <div class="panel-heading">上传图片 (大小不要超过1MB...)</div>
        <div class="panel-body">
            <br>
            <?=
            Plupload::widget([
                'model' => $model,
                'attribute' => 'coverimg',
                'url' => '/product/upload', //处理文件上传控制器
            ])
            ?>
        </div>
    </div>
PluploadAsset.php
<?php
namespace frontend\assets;
use yii\web\AssetBundle;
class PluploadAsset extends AssetBundle {
    public $sourcePath = '@webroot/../views';
    public $css = [
    ];
    public $js = [
        'plugin/plupload/js/plupload.min.js',
    ];
}
UploadAsset.php
<?php
namespace frontend\assets;
use yii\web\AssetBundle;
class UploadAsset extends AssetBundle {
    public $sourcePath = '@webroot/../views';
    public $basePath = '@web/../views';
    public $css = [
    ];
    public $js = [
        'plugin/plupload/upload.js',
    ];
    public $depends = [
        'frontend\assets\PluploadAsset',
    ];
}
Plupload.php
<?php
/**
 * @abstract Plupload上传插件
 * @author Yxl <zccem@163.com>
 */
namespace common\widgets;
use frontend\assets\UploadAsset;
use yii;
use yii\helpers\Html;
use yii\base\Exception;
class Plupload extends yii\bootstrap\Widget {
    public $model;
    public $attribute;
    public $name;
    public $url;
    private $_html;
    /**
     * 初始化
     * @throws Exception
     */
    public function init() {
        parent::init();
        if (!$this->url) {
            throw new Exception('url参数不能为空');
        }
        if (!$this->model) {
            throw new Exception('model属性不能为空');
        }
        if (!$this->attribute) {
            throw new Exception('attribute属性不能为空');
        }
    }
    /**
     * @abstract 开始上传
     * @return type
     */
    public function run() {
        $model = $this->model;
        $attribute = $this->attribute;
        // 显示文章图片或者默认图片
        $path = $model->$attribute ? $model->$attribute : Yii::getAlias('@web') . "/../views/plugin/plupload/noimage.png";
        // html
        $this->_html .= '<div class="form-group field-article-author" id="container">';
        $this->_html .= Html::activeHiddenInput($model, $attribute, ['id' => 'hidden_input', 'value' => $path]);
        $this->_html .= '   <a  href="javascript:;" id="pickfiles" style="height:50px;min-width:50px;max-width: 300px;overflow: hidden;">';
        $this->_html .= '       <img height="50" src="' . $path . '" />';
        $this->_html .= '   </a>';
        $this->_html .= '</div>';
        UploadAsset::register($this->view);
        $this->view->registerJs(
                '$(function(){
                    initCoverImageUploader("pickfiles", "container", "1mb", "' . $this->url . '","' . Yii::$app->request->getCsrfToken() . '");
                });'
        );
        return $this->_html;
    }
}
参照本站的一个大神的帖子,照着弄,但是貌似无法加载JS文件,无法使用上传功能?但普通浏览能见到HTML内容..
甚是疑惑,求解答...
38383
            注册时间:2016-10-31
最后登录:1970-01-01
在线时长:0小时0分
    最后登录:1970-01-01
在线时长:0小时0分
- 粉丝0
- 金钱170
- 威望0
- 积分170

