Skip to content

Incorrect MIME Type when reading file using “Read/Write Files from Disk” node #22007

Description

@Mohamed3nan

Bug Description

Hello,,

After updating n8n to the beta version, the Read/Write Files from Disk node returns a different MIME type than in the previous version (1.120.3).

In the previous version, an MP4 file written using the same node would later be read with the MIME type: video/mp4

After upgrading, reading the exact same MP4 file now returns: application/mp4

Image

To Reproduce

  1. Create a workflow that writes a .mp4 file using the Read/Write Files from Disk node.
  2. Read the same .mp4 file using the same node.
  3. Inspect the binary metadata returned.

Workflow to Reproduce:

{
  "nodes": [
    {
      "parameters": {
        "operation": "write",
        "fileName": "/n8n_data/output.mp4",
        "dataPropertyName": "data0",
        "options": {}
      },
      "type": "n8n-nodes-base.readWriteFile",
      "typeVersion": 1,
      "position": [
        656,
        208
      ],
      "id": "1786827e-1a17-4273-8c14-c0f6480e06a2",
      "name": "Read/Write Files from Disk1"
    },
    {
      "parameters": {
        "options": {
          "allowFileUploads": true
        }
      },
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "typeVersion": 1.4,
      "position": [
        432,
        208
      ],
      "id": "c6548e10-5d69-4019-9ae4-542003e532f3",
      "name": "When chat message received",
      "webhookId": "b473a745-8d04-4d83-bb7d-79a07edf99b2"
    },
    {
      "parameters": {
        "fileSelector": "/n8n_data/output.mp4",
        "options": {}
      },
      "type": "n8n-nodes-base.readWriteFile",
      "typeVersion": 1,
      "position": [
        912,
        208
      ],
      "id": "f2d42429-4a62-4d0a-bdbb-5aec3ee5526a",
      "name": "Read/Write Files from Disk"
    }
  ],
  "connections": {
    "Read/Write Files from Disk1": {
      "main": [
        [
          {
            "node": "Read/Write Files from Disk",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "Read/Write Files from Disk1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {
    "Read/Write Files from Disk1": [
      {
        "sessionId": "372fba937523464085366d881565fd29",
        "action": "sendMessage",
        "chatInput": "ee",
        "files": [
          {
            "fileName": "output.mp4",
            "fileSize": "805267 bytes",
            "fileExtension": "mp4",
            "fileType": "video",
            "mimeType": "video/mp4"
          }
        ],
        "fileName": "/n8n_data/output.mp4"
      }
    ],
    "When chat message received": [
      {
        "sessionId": "372fba937523464085366d881565fd29",
        "action": "sendMessage",
        "chatInput": "ee",
        "files": [
          {
            "fileName": "output.mp4",
            "fileSize": "805267 bytes",
            "fileExtension": "mp4",
            "fileType": "video",
            "mimeType": "video/mp4"
          }
        ]
      }
    ],
    "Read/Write Files from Disk": [
      {
        "mimeType": "application/mp4",
        "fileName": "output.mp4",
        "fileExtension": "mp4",
        "fileSize": "805 kB"
      }
    ]
  },
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "4ae195bf9aee1a545632cb1a7b5f0d73fa1ec648553b781b97113639d10a41bf"
  }
}

Expected behavior

The node should preserve or correctly detect the MIME type and continue to return: video/mp4 instead of: application/mp4

Debug Info

Debug info

core

  • n8nVersion: 1.121.0
  • platform: docker (self-hosted)
  • nodeJsVersion: 22.21.0
  • nodeEnv: production
  • database: postgres
  • executionMode: regular
  • concurrency: -1
  • license: enterprise (production)
  • consumerId: c7e31770-5ee2-46d8-a026-527286c836c1

storage

  • success: all
  • error: all
  • progress: false
  • manual: true
  • binaryMode: memory

pruning

  • enabled: true
  • maxAge: 336 hours
  • maxCount: 10000 executions

client

  • userAgent: mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/142.0.0.0 safari/537.36
  • isTouchDevice: false

Generated at: 2025-11-18T15:18:23.035Z

Operating System

Ubuntu

n8n Version

1.121.0

Node.js Version

22.21.0

Database

PostgreSQL

Execution mode

main (default)

Hosting

self hosted

Metadata

Metadata

Assignees

No one assigned

    Labels

    status:in-linearIssue or PR is now in Linearstatus:pending-assignmentIssue is waiting for team assignmentstatus:team-assignedA team has been assigned the issue or PRteam:nodesIssue is with the Nodes teamtriage:completeTriage has been completed and issue is ready for internal teams

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions