MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Zapisz wiele plików graficznych za pomocą widgetu Kartik FileInput

Spróbuj tego:

Kontroler:należy zapisać nazwę obrazu w bazie danych('$model->urls')

public function actionUpload()
{
        $model = new Upload();

        if ($model->load(Yii::$app->request->post())) {
            $model->file = UploadedFile::getInstances($model, 'file');
            foreach ($model->file as $key => $file) {

                $file->saveAs('/uploads/'. $file->baseName . '.' . $file->extension);//Upload files to server
                $model->urls .= 'uploads/' . $file->baseName . '.' . $file->extension.'**';//Save file names in database- '**' is for separating images
            }
            $model->save();
            return $this->redirect(['view', 'id' => $model->id]);
        } else {
            return $this->render('upload', [
                'model' => $model,
            ]);
        }
}

Zobacz

<?= $form->field($model, 'file[]')->widget(FileInput::classname(), [
'options' => ['multiple' => 'true'],
]) ?>

Model

class Upload extends Model
{
public $file;
public function rules()
{
    return [
        [['file'], 'file','maxFiles' => 6],
        [['urls'],'string'],

    ];
}

Inny widok do wyświetlania obrazów

<?php
$images=explode('**',trim($model->urls));
foreach($images as $image)
{
     echo Html::img(Url::to('@web/' . $image, true));
}
?>


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy księgowanie MongoDB gwarantuje trwałość?

  2. MongoDB $eq Operator potoku agregacji

  3. Najszybszy sposób na usunięcie ponad 100 mln dokumentów według ID

  4. MongoDB zmienia nazwę pola bazy danych w tablicy

  5. Mongodb Java - Jak zwrócić pola z ograniczeniami za pomocą funkcji find() lub findOne()