Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js filestreams的部分下载问题:写入约400字节的100 kB图像文件,然后继续操作,没有任何错误_Javascript_Node.js - Fatal编程技术网

Javascript Node.js filestreams的部分下载问题:写入约400字节的100 kB图像文件,然后继续操作,没有任何错误

Javascript Node.js filestreams的部分下载问题:写入约400字节的100 kB图像文件,然后继续操作,没有任何错误,javascript,node.js,Javascript,Node.js,在尝试学习使用节点文件流时,我编写了一些测试应用程序,从远程服务器获取图像并将其保存到磁盘。问题是,虽然一些测试图像下载得很好,但另一些却以奇怪的方式失败,没有返回错误,只写入400到460字节的100+kB图像。在这里,您可以看到nautilus在左侧显示成功下载,而在右侧显示失败的部分下载,从未抛出任何错误。部分下载总是在400到460字节的范围内 下面是我用于测试的示例代码;有些图像下载得很好,有些图像下载了一部分,但没有出现错误: var express = require(

在尝试学习使用节点文件流时,我编写了一些测试应用程序,从远程服务器获取图像并将其保存到磁盘。问题是,虽然一些测试图像下载得很好,但另一些却以奇怪的方式失败,没有返回错误,只写入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 );

有人知道发生了什么事吗?

失败的文件是一致的还是随机的?我三次检查了几个文件,结果都失败了。这就是为什么我在示例中加入了一个静态URL;这是一直给我带来麻烦的其中一个。啊,好吧,这就是为什么我问:P你的示例代码在我的机器上运行得很好。。。我建议通过直接将管道调用替换为绑定“data”来进行调试,然后查看发出了多少数据。至少你会知道是请求还是文件方面的事情不起作用。缩略图仍然没有显示,因此似乎缺少一些字节;图像打开良好。但“部分下载”之谜在其他图片中仍在继续。“直接绑定‘数据’,然后查看有多少数据被释放。”-我对这一点不太熟悉,但我会尝试将
管道
方法替换为一种可以从较低的层次了解事情如何工作的方法。谢谢你的提示。