Tôi muốn tải lên một tệp và tôi phải sử dụng loại phần tử biểu mẫu là 'tệp'. Trong chức năng gửi, tôi không thể nhận được bất kỳ dữ liệu thích hợp nào liên quan đến tệp mà tôi đang tải lên. Vì vậy, bất cứ ai có thể xin vui lòng giúp tôi giải quyết điều này. Vui lòng tìm mã dưới đây:
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);
}
Gửi chức năng:
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();
}
}