Nano Hash - криптовалюты, майнинг, программирование

Переменная загрузки пуста в yii2

я хочу добавить uploadFile в: https://github.com/thyseus/yii2-message

я добавил public $file2 в Message.php в модель

и это мои правила в модели:

    public function rules()
{
    return [
            [['title'], 'required'],
            [['file2'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg'],
            [['title', 'message', 'context'], 'string'],
            [['title'], 'string', 'max' => 255],
            [['to'], IgnoreListValidator::class],
            [['to'], 'exist',
            'targetClass' => Yii::$app->getModule('message')->userModelClass,
            'targetAttribute' => 'id',
            'message' => Yii::t('app', 'Recipient has not been found'),
        ],
            [['to'], 'required', 'when' => function ($model)
            {
                return $model->status != Message::STATUS_SIGNATURE && $model->status != Message::STATUS_DRAFT;
            }],
    ];
}

и это мой взгляд:

    <?= $form->field($model, 'message')->textarea(['rows' => 6]) ?>
    <?php
    echo $form->field($model, 'file2')->widget(FileInput::classname(), [
        'options' => ['accept' => 'image/*'],
    ]);

// With model & without ActiveForm
        echo '<label class="control-label">Add Attachments</label>';
        echo FileInput::widget([
            'model' => $model,
            'attribute' => 'file2',
            'options' => ['multiple' => true]
        ]);
        ?>

и это моя функция sendMessage

  $model = new Message();
    $model->attributes = $attributes;
    var_dump($attributes);
    die; 

почему после загрузки файла мой результат такой?

array(4) { ["to"]=> array(1) { [0]=> string(2) "65" } ["title"]=> string(3) "asd" ["message"]=> string(30) "asd  . " ["file2"]=> string(0) "" } 

файл2 пуст!


  • пожалуйста, добавьте свой полный код действия, это не поможет решить проблему, которую вы не получаете UploadedFile::instance() нигде, вы не получите файл внутри массива модальных атрибутов 26.04.2018

Ответы:


1

При настройке формы нужно указать как multipart/form-data. проверьте ниже пример.

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

<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?>

<?= $form->field($model, 'file2')->fileInput() ?>

<button>Submit</button>

<?php ActiveForm::end() ?>
05.04.2018
  • я использовал то же самое 06.04.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..