Ich möchte eine Datei hochladen und muss den Formularelementtyp als 'Datei' verwenden. In der Übermittlungsfunktion kann ich keine richtigen Daten zu der Datei abrufen, die ich hochlade. SO Kann mir bitte jemand helfen, dieses Problem zu lösen? Bitte finden Sie den folgenden Code:
public function buildForm(array $form, FormStateInterface $form_state) {
$form['test_CERTIFICATE'] = [
'#type' => 'file',
'#title' => $this->t('Certificate'),
'#description' => $this->t('Your Certificate (.pem file)').': '.\Drupal::state()->get('test_CERTIFICATE_NAME'),
];
return parent::buildForm($form, $form_state);
}
Übermittlungsfunktion:
public function submitForm(array &$form, FormStateInterface $form_state) {
parent::submitForm($form, $form_state);
$validators = array('file_validate_extensions' => array('pem'));
$files = file_save_upload('test_CERTIFICATE', $validators, 'public://certfiles', FILE_EXISTS_REPLACE);
$file = File::load($files[0]);
if($file) {
kint($files); exit;
//here control is not coming
$file->setPermanent();
$file->save();
}
}