I tried to upload a file to a server using UploadedFile
class, but I can't get an Instance. In my Model:
public $arch;
public function rules() {
return [[['arch'], 'file']];
}
Before $model->arch = file_xxxx.jpg
Controller:
$model->arch = UploadedFile::getInstance($model, 'arch');
After this $model->arch is NULL
View:
$form = ActiveForm::begin(
['id' => 'contact-form'],
['options' => ['enctype' => 'multipart/form-data']]
);
print $form->field($model, 'arch')->fileInput()->label(false);
You can try to get a file as follows:
// View
<?= $form->field($model, 'arch')->fileInput(); ?>
// Controller
$model->arch = UploadedFile::getInstanceByName('arch');
getInstanceByName()
- returns an uploaded file according to the given file input name.
Complete yii2 Uploading Files guide.