在尝试学习使用 Node 文件流时,我编写了一些测试应用程序,它们从远程服务器获取图像并将它们保存到磁盘。问题是,虽然一些测试图像下载得很好,但其他测试图像以一种奇怪的方式失败,没有返回错误,并且只写入了 400 到 460 字节的 100+ kB 图像。在这里,您可以看到 nautilus 在左侧显示成功下载,在右侧显示从未抛出任何错误的部分下载失败。部分下载始终在 400 到 460 字节范围内。
这是我用于测试的示例代码;一些图像下载正常,其他图像部分下载并且没有错误:
var
express = require( 'express' )
, app = express.createServer()
, request = require( 'request' )
, fs = require( 'fs' )
, url = 'http://static.designspiration.net/data/assets/012311-010912AM_158289.jpg';
app.get( '/', function( req, res){
request( url, function( err ){
if( err ){ console.log( err ); }
}).pipe( fs.createWriteStream( './Downloads/testimage.jpg' ) );
});
app.listen( 8083 );
有人知道发生了什么吗?