За последние 24 часа нас посетили 22254 программиста и 1030 роботов. Сейчас ищут 608 программистов ...

Выдает ошибку при добавления картинки

Тема в разделе "Yii", создана пользователем vitya1998, 30 мар 2016.

  1. vitya1998

    vitya1998 Новичок

    С нами с:
    5 ноя 2015
    Сообщения:
    73
    Симпатии:
    0
    при добавления картинки выдает такую ошибку
    knopka.jpg: Bad Request.

    Bad Request (#400): Unable to verify your data submission.

    Вот код
    Это форма
    Код (PHP):
    1. <?= $form->field($model, 'img')->widget(\kartik\file\FileInput::classname(),[
    2.      'options'=>['accept'=>'image/*'],
    3.       'pluginOptions'=>[
    4.      'uploadUrl'=>\Yii\helpers\Url::to(['file-image']),
    5.      //'ulpoadExtraData'=>['id'=>1],
    6.      'allowedFileExtensions'=>['jpg','png'],
    7.      //'initialPreview'=>$image,
    8.      'ShowUpload'=>true,
    9.      'ShowRemove'=>false,   
    10.      ] 
    11.     ]); ?>
    А вот сам обработчик
    Код (PHP):
    1.  public function actionFileImage(){
    2.             $date=date('Y-m-d h:m:s');
    3.             $path=Yii::getAlias("@backend/web/image/news/".$date);
    4.             BaseFileHelper::CreateDirectory($path);
    5.             $file=UploadedFile::getInstance($model,'img');
    6.             $name='news.'.$file->extension;
    7.             $file=saveAs($path.DIRECTORY_SEPARATOR .$name);
    8.             $model->img=$path.DIRECTORY_SEPARATOR .$name;  
    9.            
    10.             return true;
    11.       } 
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.551
    Симпатии:
    1.754
    400 ошибка означает что форма пришла без автоматом создаваемого csrf. Попробуйте у этого действия отключить проверку csrf. Это расширение от картика я не использовал, ошибка немного удивляет, поскольку если ajax, то yii должен сам вставлять этот csrf в отправляемые данные, но раз этого не происходит, если нужно по-быстрому - попробуйте отключить:
    http://stackoverflow.com/questions/28526873/disable-csrf-va ... ns-in-yii2
     
  3. vitya1998

    vitya1998 Новичок

    С нами с:
    5 ноя 2015
    Сообщения:
    73
    Симпатии:
    0
    Все равно ошибка
    Код (PHP):
    1.   public function actionFileImage(){
    2.     $this->enableCsrfValidation = false;
    3.           if(Yii::$app->request->isPost){
    4.            $date=date('Y-m-d h:m:s');
    5.             $path=Yii::getAlias("@backend/web/image/news/".$date."/");
    6.             BaseFileHelper::CreateDirectory($path);
    7.             $file=UploadedFile::getInstance($model,'img');
    8.             $name='news.'.$file->extension;
    9.             $file->saveAs($path.$name); 
    10.             
    11.             return true;
    12.           }
    13.       } 
    Добавлено спустя 1 минуту 44 секунды:
    может где то здесь ошибка
    Код (PHP):
    1. <div class="news-form">
    2.  
    3.     <?php $form = ActiveForm::begin(); ?>
    4.  
    5.     <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?>
    6.  
    7.     <?= $form->field($model, 'news_text')->textarea(['rows' => 6]) ?>
    8.  
    9.     <?= $form->field($model, 'time')->textInput([ 'value' => date('Y-m-d')] ) ?>
    10.  
    11.     <?= $form->field($model, 'img')->widget(\kartik\file\FileInput::classname(),[
    12.      'options'=>['accept'=>'image/*'],
    13.       'pluginOptions'=>[
    14.      'uploadUrl'=>\Yii\helpers\Url::to(['file-image']),
    15.      //'ulpoadExtraData'=>['id'=>1],
    16.      'allowedFileExtensions'=>['jpg','png'],
    17.     // 'initialPreview'=>$image,
    18.      'ShowUpload'=>true,
    19.      'ShowRemove'=>false,     
    20.      ] 
    21.     ]); ?>
    22.  
    23.     <div class="form-group">
    24.         <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
    25.     </div>
    26.  
    27.     <?php ActiveForm::end(); ?>
    28.  
    29. </div>
    Добавлено спустя 18 минут 31 секунду:
    ура исчезла теперь ошибка #1
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.551
    Симпатии:
    1.754
    Ну совет вы не правильно выполнили. Почитайте ещё раз по ссылке.