Загрузка API-файла формы Drupal с автоматическим сжатием - PullRequest
0 голосов
/ 30 октября 2018

Я написал модуль с формой API, который может загружать изображения с динамическим именем файла. Я хочу загрузить этот файл с автоматическим сжатием. Я не могу понять, как я достигну этого. Как я могу реализовать это в отправить обратный вызов. Ниже мой код:

function MYMODULE_registration_form() {

  $form['name'] = array(
    '#title'=> t('Name'),
    '#type' => 'textfield',
    '#required' => TRUE,
    '#size' => 40,
    '#attributes' => array('placeholder' => t('Enter your name'),),
  );

$form['personal_info']['upload_pic'] = array(
    '#title' => t('Upload Photo'),
    '#type' => 'file',
    '#description' => t('Upload a file, allowed extensions: jpg, jpeg, png, gif, bmp'),
  );
 $form['submit'] = array(
      '#value' => t('Submit'),
      '#type' => 'submit',
    );
  $form['#attributes']['enctype'] = 'multipart/form-data';

return $form;

}

function MYMODULE_registration_form_submit($form, $form_state) {
$name = $form_state['values']['name'];
    $count = 1;
    $original_username = $name;
    while (user_load_by_name($name)) {
        $name = $original_username . $count++;
    }

$validators = array(
      'file_validate_extensions' => array('png gif jpg jpeg bmp')
    );

    $uploadCheck = file_save_upload('upload_pic', $validators);

    if($uploadCheck) {
        $parts = pathinfo($uploadCheck->filename);
        $imagename = str_replace(' ', '_',$original_username.'_'. $count . '.'. $parts['extension']);
        $target = "public://attorneys/".$imagename;
        file_move($uploadCheck, $target, FILE_EXISTS_REPLACE);
        $picture_fid = $uploadCheck->fid;
    }

}

1 Ответ

0 голосов
/ 01 ноября 2018

После долгих исследований я пришел к такому выводу, и он работает нормально:

Реализация пакета gulp и установка плагина для оптимизации изображений. Возьмите ссылку с этого URL: https://www.tutorialspoint.com/gulp/gulp_optimizing_images.htm

...