2015-11-04 77 views
0

我与目前正在与nodejs战斗,试图通过api从Evernote下载图片。使用nodejs从evernote加载资源

noteStore.getResourceData(guid, function (err, res) { 
    console.log(res.length); 
}); 

我这段代码的问题是,在我的控制台我可以看到该文件的长度,但只要我尝试使用值别处,或者保存文件时,我打的问题。

var l = res.length; 
     ^

无法读取的不确定

任何想法财产 '长度' 如何解决这一问题?

什么,我不会是保存文件,但我打了同样的问题,当我用这个:

var wstream = fs.createWriteStream(guid + '.' + type); 
wstream.write(res); 
+0

你不看err变量 - 可能有一些问题,获取资源和那里的res没有定义。检查是否定义了err变量 –

+0

@NirLevy如我所说,我可以console.log的长度,我会得到一个值,下一行var l = res.length会抛出一个错误 –

回答

1

好了,至今没有在互联网这个无解,我找到了一种方法处理图像下载和保存:

noteStore.getResourceData(guid, function (err, res) { 
      try{ 
       var buffer = new Buffer(res); 

       var wstream = fs.createWriteStream(guid + '.' + type, {'flags': 'w', encoding: 'binary'}); 
       wstream.write(buffer, encoding='binary', function(err) { 

       }); 

      } catch(e) { 
       console.log(e); 
      } 
});