如果管道在完成前关闭,则删除文件

时间:2014-06-03 11:13:46

标签: javascript node.js pipe

我编写了一个简单的Node.js脚本,它使用以下代码将远程文件保存到缓存中:

// Pipe from Imgur to cache
request('http://i.imgur.com/' + file).pipe(fs.createWriteStream('cache/' + file));

如果用户关闭浏览器选项卡或在完全下载文件之前导航,则会留下损坏的文件。如何删除不完整的传输,在窗口关闭后保持传输,或者阻止保存直到所有数据都被下载?

1 个答案:

答案 0 :(得分:0)

喜欢这段代码:

var fetchData = request(url);

var data ='';  

fetchData.on("data",function(d){
data+=d;
});

fetchData.on("end",function(){       
    fs.writeFile('cache/' +file,data,function(err){
        if(err)console.log(err);
    })

});

即使用户退出,也会下载文件。