Skip to content

FileUpload::getSanitizedName returns wrong file extension #239

Closed

Description

@hubipe

Version: 3.3.0

Bug Description

When uploading file.xls, method getSanitizedName() returns file.doc instead of file.xls.

Steps To Reproduce

Create a file upload and upload Microsoft Excel file with the old extension .xls. Dump FileUpload::getSanitizedName().

Expected Behavior

Method for returning sanitize name should return file.xls

Possible Solution

I've noticed, that the behavior of this method changed in the 3.2.4. The intention of the change was probably to return the correct extension for the image file uploads, but this change broke backwards compatibility for other types of files. Possible solution is to use finfo_file only for images?

Activity

  1. kuty commented on Sep 16, 2024

    @kuty

    I can confirm, this "improvement" is causing a lot of troubles.. in our case e.g. .xlsm is saved as .xlsx and much more. It is also not possible to disable this magic.

    @dg - d7cc833

  2. hubipe commented on Oct 17, 2024

    @hubipe
    Author

    Shall I prepare a PR for the suggested solution?
    I had to cap nette/http to the version 3.2.3. But there is already version 3.3. Either I have to update an application to stop using getSanitizedName() or fix this issue.
    So the question is - is this behavior stay as is or this change is unintended?

  3. added 2 commits that reference this issue on Nov 4, 2024
    4be9c32
    5f8f07d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions