public function run()
 {
     if (isset($this->modelId) && isset($this->model) && !$this->model->isNewRecord) {
         /** @var  $fileModel File*/
         $fileModel = \Yii::createObject(File::className());
         $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]);
         $files = $fileModel->find()->where(['model' => get_class($this->model), 'model_id' => $this->modelId])->all();
         $initialPreview = $initialPreviewConfig = [];
         foreach ($files as $file) {
             $initialPreview[] = "<img src='" . \Yii::$app->params['imageDomain'] . '/' . $file->url . "' class='file-preview-image'>";
             $initialPreviewConfig[] = ['caption' => $file->name, 'url' => Url::to(['/system/widgets/file-upload/delete', 'id' => $file->file_id])];
         }
         echo $form->field($fileModel, 'files[]')->widget(FileInput::classname(), ['options' => ['multiple' => true], 'pluginOptions' => ['initialPreview' => $initialPreview, 'initialPreviewConfig' => $initialPreviewConfig, 'overwriteInitial' => false, 'uploadUrl' => Url::to(['/system/widgets/file-upload/upload']), 'uploadExtraData' => ['model' => get_class($this->model), 'modelId' => $this->modelId], 'maxFileCount' => 10, 'allowedFileExtensions' => ['jpg', 'gif', 'png']]]);
         $form::end();
     }
 }
 /**
  * Lists all Setting models.
  * @return mixed
  */
 public function actionUpload()
 {
     $fileModel = Yii::createObject(File::className());
     $imagesArray = $fileModel->getUploadImages();
     foreach ($imagesArray as $image) {
         $fileModel->model = Yii::$app->request->post('model');
         $fileModel->model_id = Yii::$app->request->post('modelId');
         $fileModel->type = 1;
         $fileModel->name = $image['title'];
         $fileModel->url = $image['pic'];
         if (!$fileModel->save()) {
             return json_encode(['error' => Yii::t('catalog', 'save images to database fail.')]);
         }
     }
     return json_encode([]);
 }