Расширение и MIME-файла

Расширение

Получить расширение файла можно через библиотеку path.

const path = require('path')
path.extname('dir/filename.txt'); // .txt

Пример получения расширения через url (когда используется строка запроса).

const url = require('url');
const path = require('path');

const pathname = url.parse("https://know-online.com/robots.txt?quey=value").pathname;
path.extname(pathname); // .txt

MIME

Расширение рекомендуется определять через MIME. Так как пользователь может указать любое расширение для файла, при этом в MIME исходный формат сохранится.

Узнать MIME файла можно через библиотеку mime.

npm install mime

Получить MIME можно через метод getType.

import mime from 'mime';

mime.getType("filename.txt"); // text/plain

Тип «text/plain» возвращается для файлов с расширением «txt».

Если «filename.txt» поменять на «filename.jpeg», то MIME всё-равно будет возвращать «text/plain».