nodejs читает заголовки изображений

Я пишу скрипт для загрузки файлов из URL-адресов в списке. У меня проблема в том, что URL-адреса не просто указывают на статические файлы, как file.jpgони имеют тенденцию указывать на сервлеты, которые возвращают файл.

То, что я хочу сделать, это загрузить файл для каждого URL и сохранить его с общим именем, затем прочитать его заголовки и переименовать его с соответствующим расширением. (Если нет лучшего способа)

Как я мог это сделать?

Я пытался использовать mime-magic, но он говорит мне, что файлы без расширения являются каталогами.

1 ответ

Решение

Это должно работать с использованием mime-magic, Вы уверены, что путь правильный и путь не указывает на каталог?

В противном случае вы можете использовать инструмент командной строки file --mime /path/to/file

Вот как определить расширение файла, используя mime-magic:

mime('/path/to/foo.pdf', function (err, type) {
    if (err) {
        console.error(err.message);
        // ERROR: cannot open `/path/to/foo.pdf' (No such file or directory)
    } else {
        console.log('Detected mime type: %s', type);
        // application/pdf
    }
});

Примечание: добавлен комментарий сани в качестве ответа в сообществе вики.

Другие вопросы по тегам