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

#http #node.js #mime-types #fs

#http #node.js #mime-типы #fs

Вопрос:

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

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

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

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

Комментарии:

1. на самом деле это должно работать с использованием mime-магии, вы уверены, что путь указан правильно и путь не указывает на каталог? в противном случае вы могли бы использовать инструмент командной строки file --mime /path/to/file

2. Спасибо, я тупой. Команда wget, которую я использовал, создала каталог и поместила файл внутри этого каталога :/

3. Вы должны поместить свой ответ в качестве ответа, чтобы я мог закрыть проблему

Ответ №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
    }
});
  

Примечание: Добавлен комментарий sled в качестве ответа в разделе community-wiki.