Кнопка с загрузкой и список файлов с возможностью скачивания и просмотра

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
svil
Сообщения: 563
Зарегистрирован: 2018.02.12, 22:41

Кнопка с загрузкой и список файлов с возможностью скачивания и просмотра

Сообщение svil »

Как сделать кнопку с загрузкой, чтобы закачанный файл пополнил список закачанных на сервер, при этом файл можно посмотеть и скачать.
Как закачанный документ в список запихать(грид), чтоб потом скачать/посмотреть?
Контроллер

Код: Выделить всё

<?php


namespace app\modules\admin\controllers;
use Yii;
use yii\web\Controller;
use yii\web\UploadedFile;
use app\modules\admin\models\UploadForm;

class TestController extends Controller
{
    public function actionIndex()
    {


        $model = new UploadForm();

        if (Yii::$app->request->post()) {
            $model->file = UploadedFile::getInstance($model, 'file');
            if ($model->validate()) {
                $path = Yii::$app->params['pathUploads'] . 'upload/';
             $model->file->saveAs($path . $model->file);
            }

        }


        return $this->render('index', ['model' => $model]);
    }

}


Код: Выделить всё

Модель
<?php

namespace app\modules\admin\models;

use Yii;
use yii\base\Model;

class UploadForm extends Model
{

    public $file;

    public function rules()
    {
        return [
            // username and password are both required

            [['file'], 'file', 'extensions' => 'xls, xlsx,pdf',


                'skipOnEmpty' => false]

        ];

    }

}
Вид формы

Код: Выделить всё

<?php
use yii\widgets\ActiveForm;
use yii\helpers\Html;
?>

<?php if( Yii::$app->session->hasFlash('success') ): ?>
    <div class="alert alert-success alert-dismissible" role="alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <?php echo Yii::$app->session->getFlash('success'); ?>
    </div>
<?php endif;?>


<div class="replay-box">
    <div class="row">
        <div class="form-group">
        <?php $form = ActiveForm::begin([
            'options' => ['enctype' => 'multipart/form-data']
        ]); ?>
        <div class="blank-arrow">
            <label>Загрузить файл </label>
        </div>
        <span>*</span>
        <?= $form->field($model, 'file')->fileInput()->label(false, ['style'=>'display:none']); ?>

        <div class="form-group">

            <?= Html::submitButton('Отправить файл', ['class' => 'btn-upload']) ?>



        </div>

        <?php ActiveForm::end(); ?>


</div>

    </div>

</div>
Аватара пользователя
svil
Сообщения: 563
Зарегистрирован: 2018.02.12, 22:41

Re: Кнопка с загрузкой и список файлов с возможностью скачивания и просмотра

Сообщение svil »

Установила его, но как открыть для просмотра и скачать если надо - это не нашла
Ответить