public function actionIndex()
 {
     $model = new UploadForm();
     if (Yii::$app->request->isPost) {
         $files = UploadedFile::getInstances($model, 'file');
         $images = [];
         foreach ($files as $file) {
             $_model = new UploadForm();
             $_model->file = $file;
             if ($_model->validate()) {
                 $filePath = 'uploads' . DIRECTORY_SEPARATOR . $_model->file->baseName . '.' . $_model->file->extension;
                 $_model->file->saveAs($filePath);
                 $images[] = ['source' => Yii::getAlias('@app') . DIRECTORY_SEPARATOR . 'web' . DIRECTORY_SEPARATOR . $filePath, 'extension' => $_model->file->extension, 'name' => $_model->file->baseName];
             } else {
                 foreach ($_model->getErrors('file') as $error) {
                     $model->addError('file', $error);
                 }
             }
         }
         if ($model->hasErrors('file')) {
             $model->addError('file', count($model->getErrors('file')) . ' of ' . count($files) . ' files not uploaded');
         } else {
             if ($images) {
                 $connection = new AMQPConnection('localhost', 5672, 'guest', 'guest');
                 $channel = $connection->channel();
                 $channel->exchange_declare('images', 'direct', false, false, false);
                 foreach ($images as $image) {
                     $msg = new AMQPMessage(json_encode($image), ['delivery_mode' => 2]);
                     $channel->basic_publish($msg, 'images', 'images routing key');
                 }
                 $channel->close();
                 $connection->close();
             }
         }
     }
     return $this->render('index', ['model' => $model]);
 }