【发布时间】:2014-02-21 14:41:45
【问题描述】:
我有两段代码:
var mmmagic = require('mmmagic');
var request = require('request');
var magic = new mmmagic.Magic(mmmagic.MAGIC_MIME_TYPE);
data = fs.readFileSync('/Users/myaccount/Desktop/test.png');
magic.detect(data,function(err,mime){
console.log(mime); // prints 'image/png'
}
和
var mmmagic = require('mmmagic');
var request = require('request');
var magic = new mmmagic.Magic(mmmagic.MAGIC_MIME_TYPE);
request.get('https://www.google.pl/images/srpr/logo11w.png',function(err,res,data){
data = new Buffer(data); // tried also new Buffer(data,'binary');
magic.detect(data,function(err,mime){
console.log(mime); // prints 'application/octet-stream'
}
})
所以第一个从本地磁盘检查文件的 mime 类型及其“image/png”。 第二个从 url 下载图像(它的 google 标志为 png 格式)并检查它的 mime 类型,它是 'application/octet-stream'。
如何将响应从 request(它是一个字符串)转换为二进制缓冲区,以便 mime 检测返回“image/png”??
【问题讨论】:
标签: node.js