Error message - file size

Created on 30 January 2024, 5 months ago
Updated 24 April 2024, 2 months ago

Good evening,
I have a problem with the module. It does not take into account the file size and stops at the size defined in the php.ini.
And when I set a file size there is an error message.

I am using Drupal 10.1.8 and PHP 8.1.23

the error message is as follows :
-----
Le site Web a rencontré une erreur inattendue. Veuillez essayer de nouveau plus tard.

TypeError: abs(): Argument #1 ($num) must be of type int|float, string given in abs() (line 137 of core/includes/common.inc).
format_size('400 MB') (Line: 156)
template_preprocess_file_upload_help(Array, 'file_upload_help', Array)
call_user_func_array('template_preprocess_file_upload_help', Array) (Line: 285)
Drupal\Core\Theme\ThemeManager->render('file_upload_help', Array) (Line: 445)
Drupal\Core\Render\Renderer->doRender(Array, 1) (Line: 204)
Drupal\Core\Render\Renderer->render(Array, 1) (Line: 148)
Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 592)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 149)
Drupal\Core\Render\Renderer->renderRoot(Array) (Line: 70)
Drupal\file_resup\Form\FileFormAlterBase::managedFileProcess(Array, Object, Array) (Line: 23)
Drupal\file_resup\Form\FileWidgetFormAlter::managedFileProcess(Array, Object, Array)
call_user_func_array('Drupal\file_resup\Form\FileWidgetFormAlter::managedFileProcess', Array) (Line: 1012)
Drupal\Core\Form\FormBuilder->doBuildForm('node_aaa_edit_form', Array, Object) (Line: 1075)
Drupal\Core\Form\FormBuilder->doBuildForm('node_aaa_edit_form', Array, Object) (Line: 1075)
Drupal\Core\Form\FormBuilder->doBuildForm('node_aaa_edit_form', Array, Object) (Line: 1075)
Drupal\Core\Form\FormBuilder->doBuildForm('node_aaa_edit_form', Array, Object) (Line: 579)
Drupal\Core\Form\FormBuilder->processForm('node_aaa_edit_form', Array, Object) (Line: 325)
Drupal\Core\Form\FormBuilder->buildForm(Object, Object) (Line: 73)
Drupal\Core\Controller\FormController->getContentResult(Object, Object)
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 592)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 181)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object, 1, 1) (Line: 704)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

-----

Thank you in advance for any feedback you may have.
Stéphen

🐛 Bug report
Status

Needs review

Version

2.0

Component

Code

Created by

🇫🇷France ratanasdiabolo

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @ratanasdiabolo
  • Issue was unassigned.
  • 🇫🇷France ratanasdiabolo

    Good evening,
    Still no one with this type of problem?
    The module does not work at all. If I put a max value of file, I have an error and if I don't put rioen, it does not take a file greater than the value of php.ini, that is to say 128 MB.
    I don't understand…

  • 🇮🇳India dineshkumarbollu

    Hi @ratanasdiabolo

    Can you add steps to reproduce the issue, I will check the issue if you provide.

    The reason might be upload size in code is taking as string '400' instead of int 400.This is the method where file size is passing, can you provide steps to reproduce i will debug the issue.Thnkas

    public static function managedFileProcess($element, FormStateInterface $form_state, $form) {
        // Add our resup element.
        $form_object = $form_state->getFormObject();
        $max_files = $element['#file_resup_max_files'];
        $upload_validators = $element['#upload_validators'];
        $description = [
          '#theme' => 'file_upload_help',
          '#description' => '',
          '#upload_validators' => $element['#upload_validators'],
          '#cardinality' => $element['#cardinality'],
        ];
        $element['resup'] = [
          '#type' => 'hidden',
          '#value_callback' => static::class . '::fileResupValue',
          '#field_name' => $element['#field_name'],
          '#upload_location' => $element['#upload_location'],
          '#file_resup_upload_validators' => $upload_validators,
          '#attributes' => [
            'class' => ['file-resup'],
            'data-entity-type-id' => $element['#file_resup_entity_type_id'],
            'data-bundle' => $element['#file_resup_bundle'],
            'data-form-type' => $element['#form_type'],
            'data-operation' => method_exists($form_object, 'getOperation') ? $form_object->getOperation() : 'default',
            'data-upload-name' => $element['upload']['#multiple'] ? $element['upload']['#name'] . '[]' : $element['upload']['#name'],
            'data-upload-button-name' => $element['upload_button']['#name'],
            'data-max-filesize' => $upload_validators['file_validate_size'][0] ?? $upload_validators['FileSizeLimit']['fileLimit'],
            'data-description' => \Drupal::service('renderer')->renderRoot($description)->__toString(),
            'data-parents' => Json::encode($element['#array_parents']),
            'data-url' => Url::fromRoute('file_resup.upload')->toString(),
            'data-drop-message' => $max_files > -1 ? (new PluralTranslatableMarkup($max_files, 'Drop a file here or click <em>Browse</em> below.', 'Drop up to @count files here or click <em>Browse</em> below.')) : t('Drop files here or click <em>Browse</em> below.'),
          ],
          '#prefix' => '<div class="file-resup-wrapper">',
          '#suffix' => '</div>',
          '#attached' => [
            'library' => ['file_resup/file_resup'],
            'drupalSettings' => [
              'file_resup' => [
                'chunk_size' => file_resup_chunksize(),
              ],
            ],
          ],
        ];
    
  • 🇫🇷France ratanasdiabolo

    Good morning,

    Thank you very much for watching.
    In fact, I normally install the module then when I drop files greater than the php.ini limit, the site displays an error message.
    When I put a transfer value of 600 MB for example in the parameters of my field, I get an error like this:
    ---------------------------------
    The website encountered an unexpected error. Please try again later.

    TypeError: abs(): Argument #1 ($num) must be of type int|float, string given in abs() (line 137 of core/includes/common.inc).

    format_size() (Line: 157)
    template_preprocess_file_upload_help()
    call_user_func_array() (Line: 285)
    Drupal\Core\Theme\ThemeManager->render() (Line: 433)
    Drupal\Core\Render\Renderer->doRender() (Line: 204)
    Drupal\Core\Render\Renderer->render() (Line: 148)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 580)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 149)
    Drupal\Core\Render\Renderer->renderRoot() (Line: 70)
    Drupal\file_resup\Form\FileFormAlterBase::managedFileProcess() (Line: 23)
    Drupal\file_resup\Form\FileWidgetFormAlter::managedFileProcess()
    call_user_func_array() (Line: 1012)
    Drupal\Core\Form\FormBuilder->doBuildForm() (Line: 1075)
    Drupal\Core\Form\FormBuilder->doBuildForm() (Line: 1075)
    Drupal\Core\Form\FormBuilder->doBuildForm() (Line: 1075)
    Drupal\Core\Form\FormBuilder->doBuildForm() (Line: 579)
    Drupal\Core\Form\FormBuilder->processForm() (Line: 325)
    Drupal\Core\Form\FormBuilder->buildForm() (Line: 73)
    Drupal\Core\Controller\FormController->getContentResult()
    call_user_func_array() (Line: 123)
    Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 580)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 124)
    Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext() (Line: 97)
    Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 163)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 74)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 58)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 106)
    Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 85)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 686)
    Drupal\Core\DrupalKernel->handle() (Line: 19)

    ---------------------------------
    I am under :
    Drupal 10.0.9
    PHP Version 8.1.27
    Database Version 10.6.17-MariaDB
    Memory ceiling of PHP 2048M

    I also have a version under:
    Drupal 10.1.8
    PHP Version 8.2.10
    Database
    Version 5.7.42-log - MySQL system, Percona Server, or equivalent
    Memory ceiling of PHP 512M
    But it's the same. It does not work.

    Thank you in advance for your help.
    Stephen

  • 🇫🇷France ratanasdiabolo

    in the watchdog, I have this:
    TypeError: abs(): Argument #1 ($num) must be of type int|float, string given in abs() (line 137 of /home/njbo5967/gihpnormandie2023/web/core/includes/common.inc).

  • 🇺🇸United States Tim Bozeman

    Tim Bozeman made their first commit to this issue’s fork.

  • Merge request !11I like big files → (Open) created by Tim Bozeman
  • Status changed to Needs review 3 months ago
  • 🇺🇸United States Tim Bozeman

    Thank you for the bug report!

    At some point core changed their file validator names from things like file_validate_size to ['FileSizeLimit']['fileLimit']. We tried to support both the old and new validator names, but evidently it wasn't working for the new ones. Let's just remove the old validator names and move on. I think there's been enough time for most people to update their sites. I'll make this a 2.1.0 version when it is released since it could be a breaking change. Well I guess you could say the current version is broken... hmm 🤔

    ¯\_(ツ)_/¯

    @ratanasdiabolo does this work for you?

  • 🇫🇷France ratanasdiabolo

    Thank you, I will test all this and I will come back to hear from you if it works ;)

  • 🇫🇷France ratanasdiabolo

    I'm sorry I have the same error message...

    ------------------------------------------------

    Le site Web a rencontré une erreur inattendue. Veuillez essayer de nouveau plus tard.

    TypeError: abs(): Argument #1 ($num) must be of type int|float, string given in abs() (line 137 of core/includes/common.inc).

    format_size() (Line: 156)
    template_preprocess_file_upload_help()
    call_user_func_array() (Line: 285)
    Drupal\Core\Theme\ThemeManager->render() (Line: 445)
    Drupal\Core\Render\Renderer->doRender() (Line: 204)
    Drupal\Core\Render\Renderer->render() (Line: 148)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 592)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 149)
    Drupal\Core\Render\Renderer->renderRoot() (Line: 70)
    Drupal\file_resup\Form\FileFormAlterBase::managedFileProcess() (Line: 23)
    Drupal\file_resup\Form\FileWidgetFormAlter::managedFileProcess()
    call_user_func_array() (Line: 1012)
    Drupal\Core\Form\FormBuilder->doBuildForm() (Line: 1075)
    Drupal\Core\Form\FormBuilder->doBuildForm() (Line: 1075)
    Drupal\Core\Form\FormBuilder->doBuildForm() (Line: 1075)
    Drupal\Core\Form\FormBuilder->doBuildForm() (Line: 579)
    Drupal\Core\Form\FormBuilder->processForm() (Line: 325)
    Drupal\Core\Form\FormBuilder->buildForm() (Line: 73)
    Drupal\Core\Controller\FormController->getContentResult()
    call_user_func_array() (Line: 123)
    Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 592)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 124)
    Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext() (Line: 97)
    Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 181)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 58)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 106)
    Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 85)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 704)
    Drupal\Core\DrupalKernel->handle() (Line: 19)

    Merci d'avance.
    Stéphen

  • 🇺🇸United States Tim Bozeman

    Hmm, that's strange. Did you try re-saving the file size limits?

Production build 0.69.0 2024