相关疑难解决方法(0)

在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 ?????
    });
});
Run Code Online (Sandbox Code Playgroud)

图像显然是一张图片,但是node-mime说它是application/octet-stream.为什么?

注意: - 我不想依赖于响应标头内容类型,因为根据我的经验,有时这些响应标头设置不正确......并且它们不能确定真正的文件类型.(这就是为什么我将它保存到文件中,然后让node-mime为我确定它!)

我想知道确定文件是否是图像的最佳方法,误差为0.

编辑:我刚刚意识到node-mime不是"魔术".它只是检查扩展名:( ...

Edit2:我发现了这个:https://github.com/SaltwaterC/mime-magic

javascript content-type http node.js mime-types

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

content-type ×1

http ×1

javascript ×1

mime-types ×1

node.js ×1