В Node.js, учитывая URL, как я могу проверить, является ли это JPG / PNG / GIF?
Мой текущий метод таков:
var request = require('request');
var mime = require('mime');
var fs = require('fs');
var uri = 'http://www.sweetslyrics.com/images/img_gal/25646_christina-perri-213968.jpg';
request({
'method':'GET',
'uri': uri
},function(err, response,body){
var tmp_path = '/tmp/123456';
fs.writeFile(tmp_path, body, function(err) {
console.log(mime.lookup(tmp_path)); //application/octet-stream ?????
});
});
Изображение, очевидно, картина, ноnode-mime
говорит, что этоapplication/octet-stream
, Почему?
Примечание: - Я не хочу полагаться на тип содержимого заголовков ответа, потому что, исходя из моего опыта, иногда эти заголовки ответа устанавливаются неправильно ... и они не определяют истинный тип файла. (именно поэтому я сохраняю его в файл, а затем определяю его для меня!)
Я хочу знать, как лучше всего определить, является ли файл изображением, с нулевым пределом ошибки.
Изменить: я только что понял, что нод-пантомима не "магия". Он просто проверяет расширение :( ...
Edit2: я нашел это:https://github.com/SaltwaterC/mime-magic