` file upload HTML form element. * Make sure to set the `enctype="multipart/form-data"` attribute on the surrounding form! * * ``` * * ``` * * @see https://docs.typo3.org/permalink/t3viewhelper:typo3-fluid-form-upload */ final class UploadViewHelper extends AbstractFormFieldViewHelper { /** * @var string */ protected $tagName = 'input'; public function initializeArguments(): void { parent::initializeArguments(); $this->registerArgument('errorClass', 'string', 'CSS class to set if there are errors for this ViewHelper', false, 'f3-form-error'); } public function render(): string { $multiple = isset($this->additionalArguments['multiple']); $name = $this->getName(); $allowedFields = ['name', 'type', 'tmp_name', 'error', 'size']; foreach ($allowedFields as $fieldName) { if ($multiple) { $formTokenFieldName = sprintf('%s[*][%s]', $name, $fieldName); } else { $formTokenFieldName = $name . '[' . $fieldName . ']'; } $this->registerFieldNameForFormTokenGeneration($formTokenFieldName); } $this->tag->addAttribute('type', 'file'); if ($multiple) { $this->tag->addAttribute('name', $name . '[]'); } else { $this->tag->addAttribute('name', $name); } $this->setErrorClassAttribute(); return $this->tag->render(); } }